我想在我的第一個Rails應用程序(Rails 3)中做一些非常簡單的事情,但我不確定我做錯了什麼,或者如果有更好的方法。無法在網上找到任何東西,或者在這裏爲我解決了這個問題,儘管搜索很多。RAILS3:通過button_to傳遞任意參數?
在應用程序中,我有WorkRequests和文章。查看文章時,我想要一個按鈕來創建一個WorkRequest,當新的WorkRequest表單出現時,將文章填入。基本上,我試圖將Article.id傳遞給新的WorkRequest。
在link_to中工作只是通過添加參數,但我希望它是一個按鈕。雖然它在文章形式的HTML中顯示爲查詢參數,但它永遠不會到達WorkRequest.new方法。 This文章從2010年解釋了一些細節的問題,但解決方案不適合我(看我的評論在本頁的末尾)。
這似乎應該是一個相當容易和常見的事情要做(一旦我知道了,在我自己的應用程序中還有其他幾個地方我也想做同樣的事情),但是我現在已經在這個特定的牆上撞了我的頭。我是Rails新手 - 這是我的第一個應用程序 - 所以我希望有更多經驗的人可以幫助!
在此先感謝。
這不行,基什。我得到一個錯誤:「沒有路由匹配」/ work_requests/new「。OK我知道這一點:這是因爲它使用POST並需要使用GET,可以通過添加:method =>:get來修復該問題,如下所示: <%= button_to(「Add WorkRequest」,{:controller =>「work_requests」,:action =>「new」,::module_id => @ pier_module.id},:method =>:get)%> 但是這個參數被刪除了,這就是問題所在,在我原來的問題鏈接的文章中有詳細說明 – 2011-03-21 14:09:55
請注意,如果您將button_to更改爲link_to,但混合鏈接和按鈕看起來很奇怪。可以訴諸菜單佈局,這將使用所有鏈接,但我不明白爲什麼一個按鈕不能傳遞任意參數。 事情是我不知道這是否是打算的行爲,在這種情況下,至少學習理性因爲它會幫助我理解它,或者如果它是一個'錯誤',或者有更好的方法來做我想做的事情。 – 2011-03-21 14:13:01
你使用什麼版本的導軌?發佈我的答案之前,我檢查了它,它做得很好! – 2011-03-21 14:44:33