勾选复选框时,我只想更新数据库中的“需要”值。脚本如下
$('td div').find('input[type=checkbox]').click(function(){
$.ajax({
type: "PUT",
dataType: "script",
url: '/ecs/2',
contentType: 'application/json',
data: JSON.stringify({ ecs:{needed:'N'}, _method:'put' })
}).done(function( msg )
{
alert( "Data Saved: " + msg );
});
});
}); 并且控制器的代码是标准的。
# PATCH/PUT /ecs/1
# PATCH/PUT /ecs/1.json
def update
respond_to do |format|
if @ec.update(ec_params)
format.html { redirect_to @ec, notice: 'Ec was successfully updated.' }
format.json { head :no_content }
format.js
else
format.html { render action: 'edit' }
format.json { render json: @ec.errors, status: :unprocessable_entity }
format.js
end
end
end
EC 是模块的名称,需要的是列的名称。我只想用 id=2 更新 ec 所需的新值。但是现在,我总是遇到 BAD REQUEST。我不确定问题出在哪里。