0

我有一个通过 POST 方法向服务发送信息的操作,我希望它通过链接从电子邮件中触发。

我在我的电子邮件模板中试过这个:

首先,在 link_to 标记中指定 post 方法:

<%= link_to 'click here', action_url(:id => @model.id), :method => 'post' %>

但是该操作是使用 GET 方法触发的,并且出现路由错误。

其次,通过带有隐藏字段但无法识别 csrf 令牌的表单来执行此操作:

<%= form_tag action_url, :method => 'post' do %>
    <%= hidden_field_tag :id, @model.id %>
    <%= submit_tag 'click here' %>
<% end %>

有没有办法做到这一点?或者如果没有,我最好的选择是什么?

4

1 回答 1

0

无法发出 post 请求,因此只需添加操作的 get 路由。

积极的部分:工作正常,没有并发症

负面部分:由于参数是通过 URL 传递的,因此必须实现一些 before_filter 安全方法

于 2013-08-01T00:14:43.987 回答