我目前有以下链接:
<%= link_to 'New campus', new_campus_path(:university_id => @university.id) %>
我得到的网址是:
/campus/new?university_id=1
如何将参数作为 POST 传递?
我尝试添加方法=>:post,但没有运气。我很感激任何帮助。谢谢。
我目前有以下链接:
<%= link_to 'New campus', new_campus_path(:university_id => @university.id) %>
我得到的网址是:
/campus/new?university_id=1
如何将参数作为 POST 传递?
我尝试添加方法=>:post,但没有运气。我很感激任何帮助。谢谢。
的method
参数link_to
应该起作用 - 它到底有什么问题?
<%= link_to 'New campus', new_campus_path(:university_id => @university.id), method: :post %>
或者,您可以尝试button_to
<%= button_to 'New campus', new_campus_path(:university_id => @university.id), method: :post %>
编辑:在这两种情况下,参数仍将添加到查询字符串中,但只要 HTTP 动词是正确的,这对 rails 应该没有影响,因为对两者的访问都是通过params
哈希完成的。
如果不包含参数真的很重要,您可以自己创建表单并添加隐藏字段:
<%= form_tag new_campus_path, method: :post %>
<%= hidden_field_tag :university_id, @university.id %>
<%= submit_tag 'New campus' %>
<% end %>
我认为在rails中没有捷径
编辑2:顺便说一句,如果我猜对了,这个链接应该打开一个表格,用于创建一个新校区,并选择默认大学。如果是这种情况,你真的应该使用 GET,因为它只是一个不会导致任何副作用的读取操作。
您可以使用 JQuery。像这样 :
$("#my_link").click(function() {
$.ajax({
type: 'POST',
url: '/campus/new?university_id=1'
});
});
您可以在此处查看文档: http: //api.jquery.com/click/和此处:http ://api.jquery.com/jQuery.post/ 。