在Rails 3中使用link_to发送POST请求

3

如何在Rails 3中使用link_to助手创建带有自定义参数的远程POST请求?

我尝试了以下代码:

link_to 'Submit', model_path, :query => "value", :remote => true, :method => :post

POST请求已经生效,控制器中的操作可以执行,但是我无法在params或其他任何地方获取POST参数。

我该怎么做?

2个回答

11

好的,我懂了。我需要像这样将参数传递给model_path函数本身:

 model_path(:query => "value")

没意识到它一直是一个函数。范式转变...


通常情况下,你会将参数命名为:model_name[parameter_name]。例如,<%= link_to job_search.query, job_searches_path("job_search[query]" => "#{job_search.query}"), :method => :post %> - Kedar Mhaswade

1

你需要完成两件事情:

  1. 在 HTML 的头部调用 csrf_meta_tag 辅助方法
  2. 添加适用于 JavaScript 库的 rails.js,可以是 Prototype 或 jQuery。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接