如何在rails3中将状态设置为活动状态

时间:2011-06-24 23:19:58

标签: ruby-on-rails ruby-on-rails-3

我使用的是rails3,我有一个用户模型。此模型具有状态列。我正在显示管理员表格

Mary approve reject
John approve reject

批准和拒绝都是链接。由于点击批准将批准用户的记录,因此它不应该是获取请求。它应该是一个帖子请求。我想要实现一个帖子请求我应该点击批准或拒绝ajax电话。

在ajax调用中,我会调用post而不是get。

这是一个好策略吗?任何人都有更好的建议。

由于

3 个答案:

答案 0 :(得分:2)

只需将:method => 'post'传递给link_to来电:

<%= link_to 'approve', approve_user_path(user), :method => 'post' %>

http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to

答案 1 :(得分:2)

你是对的,它不应该是一个获取请求。实际上,我认为这既不是一个帖子请求,因为你已经有了记录并希望改变它。

您可以将:method => :put传递给link_to。 Rails将创建一个JS处理程序,当单击该链接时,它将使用action=PUT创建一个不可见的表单并提交它。

但是,AJAX也是一件好事,它和设置方法一样困难::remote => true

答案 2 :(得分:0)

HTTP POST用于创建,HTTP PUT用于更新。因此,您应该使用PUT(添加:method =&gt;'put'到您的link_to),因为您正在更新用户记录。以下是更多详细信息:http://guides.rubyonrails.org/routing.html#crud-verbs-and-actions