Task モデルのインデックス ページで、Task データベース テーブルのブール フィールド「complete」に対応するすべての行にチェックボックスを表示したいと考えています。
現在、コードは「Complete」メソッドに入りますが、ユーザーが行ったばかりのチェックボックスの値が含まれていません (つまり、ボックスをチェックしただけでは、「Complete」メソッドに 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