2012-07-27 54 views
1

目前,我有以下鏈接:通參數POST通過路徑

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

和我得到的網址是:

/campus/new?university_id=1 

如何傳遞的參數作爲POST?

我試着添加method =>:post,但沒有運氣。我感謝任何幫助。謝謝。

回答

3

參數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,因爲它只是一個讀取操作,不會產生任何副作用。