目前,我有以下鏈接:通參數POST通過路徑
<%= link_to 'New campus', new_campus_path(:university_id => @university.id) %>
和我得到的網址是:
/campus/new?university_id=1
如何傳遞的參數作爲POST?
我試着添加method =>:post,但沒有運氣。我感謝任何幫助。謝謝。
目前,我有以下鏈接:通參數POST通過路徑
<%= link_to 'New campus', new_campus_path(:university_id => @university.id) %>
和我得到的網址是:
/campus/new?university_id=1
如何傳遞的參數作爲POST?
我試着添加method =>:post,但沒有運氣。我感謝任何幫助。謝謝。
參數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 %>
編輯:在這兩種情況下,paremeter仍然會被添加到查詢字符串,但只要HTTP動詞正確的,這應該不會對Rails有所作爲,因爲通過params
哈希來完成對兩者的訪問。
如果不包括參數,這是非常重要的,你可以自己創建表單並添加一個隱藏字段:
<%= form_tag new_campus_path, method: :post %>
<%= hidden_field_tag :university_id, @university.id %>
<%= submit_tag 'New campus' %>
<% end %>
我不認爲有一個在軌此快捷方式
編輯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/。