例如,我有一个名为 select *
from concepts;
的布尔值的模型Post
,如何从帖子列表中轻松更改active
或true
的此值在index.html.erb中有一个link_to或button_to帮助器,如false
?
答案 0 :(得分:1)
您可以获取控制器方法,比如toggle_active
设置active
的{{1}}状态,如下所示:
post
然后,在def toggle_active
@post = Post.find(params[:id])
status = !@post.active
@post.active = status
respond_to do |format|
if @post.save
render json: "success"
else
render json: "failure"
end
end
end
:
routes.rb
这应该给你一个get 'post/:id/toggle-active' => 'post#toggle_active'
或类似的东西。
这是您现在将在视图中定位的路径,使用button_to或link_to(视情况而定)。
toggle_active_post_path
是的,您设置<%= link_to "Activate/Deactivate", toggle_active_post_path(id: post.id), remote: true %>
以启用ajax调用。
还有一件事:您需要定义一个相应的remote: true
文件,以处理来自ajax的响应。
希望这会有所帮助......