通过路径传递参数作为POST

时间:2012-07-27 12:45:21

标签: ruby-on-rails-3 path

我目前有以下链接:

<%= link_to 'New campus', new_campus_path(:university_id => @university.id) %>

我得到的网址是:

/campus/new?university_id=1

如何将参数作为POST传递?

我尝试添加方法=&gt; :发帖,但那里没有运气。我感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:3)

method的{​​{1}}参数应该有效 - 它到底出了什么问题?

link_to

或者,您可以尝试button_to

<%= link_to 'New campus', new_campus_path(:university_id => @university.id), method: :post %>

编辑:在这两种情况下,paremeter仍会被添加到查询字符串中,但只要HTTP谓词正确,这对rails来说就不会有什么不同,因为对两者的访问都是通过<%= button_to 'New campus', new_campus_path(:university_id => @university.id), method: :post %> 哈希。

如果不包含参数非常重要,您可以自己创建表单并添加隐藏字段:

params

我认为在rails

中有一个快捷方式

编辑2:顺便说一句,如果我猜对了,这个链接应该打开一个表格,用于创建一个选择了默认大学的新校区。如果是这种情况,你应该真正使用GET,因为它只是一个不会引起任何副作用的读取动作。