我是Rails的新手,我試圖使用link_to helper來創建一個發出PUT請求而不是GET請求的鏈接。具體來說,我試圖創建一個鏈接,從管理面板中激活我的應用中的用戶帳戶。我正在使用Rails 3.0.5。Ruby on Rails link_to使用put方法
我的routes.rb文件具有:
match '/admin/users/:id/activate' => 'admin#activate_user',
:action => :activate_user, :via => :put
我的視圖具有:
link_to 'Activate', :action => :activate_user, :id => user.id, :method => :put
然而,這產生的URL(例如)/admin/users/7/activate?method=put
與源代碼<a href="/admin/users/7/activate?method=put">Activate</a>
。
我想產生,而是<a href = "/admin/users/7/activate" data-method="put">Activate</a>
我知道我可以使用button_to,但我一直在這個問題搏鬥了一會兒,我很困惑,爲什麼我看到這種行爲,當其他教程說,我在做什麼應該是有效的。我如何才能創建一個link_to幫手來處理我想要的行爲?
耙路線爲上述路徑產生了什麼?你可以發佈嗎? – prasvin 2012-02-16 05:32:08
這工作,謝謝!這是最乾淨的解決方案:) – maksim 2012-02-16 06:26:37
這不適合我。如果在link_to中沒有定義方法,我會得到一個No route matches [GET]錯誤消息。 – ndemoreau 2012-08-14 06:10:37