Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 从电子邮件rails 3提交表单_Ruby On Rails 3_Post_Actionmailer_Csrf - Fatal编程技术网

Ruby on rails 3 从电子邮件rails 3提交表单

Ruby on rails 3 从电子邮件rails 3提交表单,ruby-on-rails-3,post,actionmailer,csrf,Ruby On Rails 3,Post,Actionmailer,Csrf,我有一个动作,它通过POST方法将信息发送到服务,我希望它通过链接从电子邮件中触发 我已经在我的电子邮件模板中尝试过: 首先,在链接标签中指定post方法: <%= link_to 'click here', action_url(:id => @model.id), :method => 'post' %> @model.id),:方法=>'post'> 但是这个动作是用GET方法触发的,我得到了一个路由错误 第二,通过带有隐藏字段的表单执行,但csrf令牌未被识别

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

我已经在我的电子邮件模板中尝试过:

首先,在链接标签中指定post方法:

<%= link_to 'click here', action_url(:id => @model.id), :method => 'post' %>
@model.id),:方法=>'post'>
但是这个动作是用GET方法触发的,我得到了一个路由错误

第二,通过带有隐藏字段的表单执行,但csrf令牌未被识别:

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

有什么办法可以这样做吗?或者如果没有,我的最佳选择是什么?

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

积极部分:工作正常,无并发症

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