Rails4:远程更改ajax的布尔值

时间:2015-11-07 20:19:48

标签: javascript ruby-on-rails ajax ruby-on-rails-4

例如,我有一个名为 select * from concepts; 的布尔值的模型Post,如何从帖子列表中轻松更改activetrue的此值在index.html.erb中有一个link_to或button_to帮助器,如false

1 个答案:

答案 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的响应。

希望这会有所帮助......