从电子邮件rails 3提交表单

时间:2013-07-30 19:23:38

标签: ruby-on-rails-3 post actionmailer csrf

我有一个动作通过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 %>

有没有这样做?或者如果没有,我最好的选择是什么?

1 个答案:

答案 0 :(得分:0)

无法发出帖子请求,因此只需添加操作的获取路由即可。

积极的一部分:工作正常,而不是并发症

否定部分:由于参数是通过网址传递的,因此必须实施一些before_filter方法以确保安全性