我有一个动作通过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 %>
有没有这样做?或者如果没有,我最好的选择是什么?
答案 0 :(得分:0)
无法发出帖子请求,因此只需添加操作的获取路由即可。
积极的一部分:工作正常,而不是并发症
否定部分:由于参数是通过网址传递的,因此必须实施一些before_filter方法以确保安全性