我使用的是rails3,我有一个用户模型。此模型具有状态列。我正在显示管理员表格
Mary approve reject
John approve reject
批准和拒绝都是链接。由于点击批准将批准用户的记录,因此它不应该是获取请求。它应该是一个帖子请求。我想要实现一个帖子请求我应该点击批准或拒绝ajax电话。
在ajax调用中,我会调用post而不是get。
这是一个好策略吗?任何人都有更好的建议。
由于
答案 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