gpt4 book ai didi

ruby-on-rails - Rails check_box_tag 如何在 ajaxily 检查时传递值

转载 作者:数据小太阳 更新时间:2023-10-29 07:41:21 25 4
gpt4 key购买 nike

在我的任务模型的索引页面上,我想为与我的任务数据库表中的 bool 字段“完成”相对应的每一行显示一个复选框。

目前我的代码进入“完成”方法,但它不包含用户刚刚选中的复选框的值(即,如果他们刚刚选中该框,它不会将 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

最佳答案

rails/jquery-ujs github repo 中这个问题的建议对我有用:https://github.com/rails/jquery-ujs/issues/440#issuecomment-197029277

对你来说会是:

<%= check_box_tag 'complete', '1', task.complete, {
onchange: "$(this).data('params', 'complete=' + this.checked)",
data: { url: url_for(action: 'complete', id: task.id,), remote: true, method: :patch },
} %>

关于ruby-on-rails - Rails check_box_tag 如何在 ajaxily 检查时传递值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15697000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com