在我的任务模型的索引页面上,我想为与任务数据库表中的布尔字段“完成”对应的每一行显示一个复选框。
目前我的代码进入了“完成”方法,但它不包含用户刚刚所做的复选框的值(即,如果他们只是选中了该框,它不会将 true 传递给我的“完成”方法)。
我如何传递用户刚刚执行的值 - 选中或未选中?
/views/tasks/index.html.erb
<% @tasks.each_with_index do |task, i| %>
<tr>
<td><%= check_box_tag 'Complete', task.complete, task.complete, :data => {:remote => true, :url => url_for( :action => 'complete', :id => task.id, :complete => task.complete ), :method => :put}, :class => 'input-large' %></td>
</tr>
<% end %>
/controllers/tasks_controller#complete
# PUT /complete/1
def complete
@task = Task.find(params[:id])
p "inside complete"
p "complete = #{params[:complete]}"
@task.complete =
if @task.update_attributes(params[:task])
p "inside update"
render :text => "success"
else
p "inside error"
end
end