回答
form_for @user, :url => url_for(:controller => 'mycontroller', :action => 'myaction')
或
form_for @user, :url => whatever_path
對我來說,以下工作:
form_for @user, :url => {:action => "YourActionName"}
這起作用。通過搜索'action:'(* action冒號*)在官方文檔中查看它。http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-form_for – user664833 2014-02-20 23:12:06
嗯不知道。我已經把'form_for @user,url:{action:'myaction'}',但它給了我'沒有路由匹配{:action =>「myaction」,:controller =>「users」}'錯誤。 – lulalala 2015-06-26 01:57:36
我已經做了這樣的
<%= form_for :user, url: {action: "update", params: {id: @user.id}} do |f| %>
注意可選參數id
設置爲用戶實例id attr ibute。
如果你想定製的控制器傳遞到的form_for而呈現局部的表單,您可以使用此:
<%= render 'form', :locals => {:controller => 'my_controller', :action => 'my_action'}%>
,然後在表格部分使用這個局部變量是這樣的:
<%= form_for(:post, :url => url_for(:controller => locals[:controller], :action => locals[:action]), html: {class: ""}) do |f| -%>
可選地同樣可以使用form_tag
與語法來達到:
form_tag({controller: "people", action: "search"}, method: "get", class: "nifty_form")
# => '<form accept-charset="UTF-8" action="/people/search" method="get" class="nifty_form">'
如http://guides.rubyonrails.org/form_helpers.html#multiple-hashes-in-form-helper-calls
這是真的,但問題是關於一個特定的對象 - 在這種情況下是'@ user'。使用'form_tag'不會將對象的屬性綁定到表單域。 – 2017-11-30 17:44:53
- 1. Rails SImple從發佈到不同的控制器創建操作
- 2. AspCore具有相同操作的多個發佈操作名稱
- 3. form_for自定義操作不呈現
- 4. 發佈到users_controller的Rails問題操作
- 5. 發佈到不同的域
- 6. Jquery ajax發佈到MVC2操作
- 7. 發佈數據到操作方法MVC2.0
- 8. AJAX發佈到CakePHP控制器操作
- 9. 難度發佈操作到時間線
- 10. 如何發佈以在Rails應用中使用form_for銷燬操作?
- 11. ASP.NET MVC AJAX發佈到控制器操作不起作用
- 12. 發佈到不同的頁面,但留在當前頁面
- 13. @ Ajax.BeginForm中的Html.Partial不會將數據發佈到操作
- 14. OpenGraph發佈操作顯示
- 15. 如何發佈從操作
- 16. 無法發佈操作
- 17. Unity Facebook SDK發佈操作
- 18. 麻煩發佈操作
- 19. facebook發佈操作定製
- 20. 爲url.action發佈操作?
- 21. 作爲不同用戶發佈的RPM%
- 22. didFinishPickingMediaWithInfo根據不同的發件人執行不同的操作
- 23. 已發佈到Google Play但無法使用Google語音操作的應用
- 24. 顯示操作中的不同操作
- 25. 路由到有相同的名字,但不同參數的操作
- 26. form_for> f.submit,如何僅在更新操作時發出警報。
- 27. 自定義操作將文檔發送到不同的頁面
- 28. form_for提交多個控制器操作
- 29. 從CMS發佈到不同CMS的CDS
- 30. 發佈appsettings.json到不同的環境
中描述我不認爲'url_for'是必要的。此外,由於控制器是相同的,你可以使用'form_for @user,:url =>:action =>'myaction'' – rubyprince 2011-03-16 03:32:31
以上答案是有幫助的,但我不得不稍微調整它,否則POST總是路由到編輯控制器操作,否則:<%= form_for(@user,url:{action:「myaction」},method :: post)do | user_form | %>。請注意,這是針對views/users /文件夾中的視圖文件。 – AarCee 2015-08-31 15:00:40