我正在使用form_for標記,它在Rails 3.0.4環境中工作。 但是,當我試圖將我的項目更新到Rails 4時。它給出以下錯誤form_for rails中的參數數量錯誤4
參數的錯誤數目(3代表2)。這是我的代碼
<%= form_for @email, :url => alerts_path do |f| %>
<% end %>
我正在使用form_for標記,它在Rails 3.0.4環境中工作。 但是,當我試圖將我的項目更新到Rails 4時。它給出以下錯誤form_for rails中的參數數量錯誤4
參數的錯誤數目(3代表2)。這是我的代碼
<%= form_for @email, :url => alerts_path do |f| %>
<% end %>
我看不出有任何問題與您的form_for,你能張貼的異常回溯?可能是另一個寶石是否覆蓋默認的form_for?
是的問題是因爲另一個寶石「meta_search」。 – 2013-04-29 13:33:55
作爲流行的答案說,client_side_validations寶石也可以導致它 – nurinur 2015-07-13 07:27:35
您的語法無誤。 嘗試改變它像這樣:
<%= form_for(@email, url: alerts_path) do |f| %>
#form fields goes here
<% end %>
我想看看是否有在Rails的4.0 API在源代碼中的任何改變的form_for
;它仍然是一樣的。
看一看262線在https://github.com/rails/rails/blob/master/actionpack/lib/action_view/helpers/form_helper.rb
讓我知道,如果它
感謝您的幫助,但我試過這個解決方案,它給了我同樣錯誤數量的參數錯誤。 – 2013-04-29 12:28:54
@ZeeshanMahmood:嘗試與'url'一起添加'method::post'並檢查。 – kiddorails 2013-04-29 12:31:12
我也試過,但這也不能幫助我。 – 2013-04-29 12:32:41
嘗試刪除可能嘗試在視圖中更改內容的內容。
在我的情況的問題是與client_side_validations寶石
希望這有助於。
不知道爲什麼還沒有,但刪除從我的Gemfile的「meta_search」寶石固定這個確切的問題對於我來說on Rails的4
如果谷歌這個問題,你會發現這個GitHub issue它是屬性的「client_side_validations 「寶石,但使用該回購的建議」rails-4-quick-fixes「分支並沒有解決我的問題。
我認爲,隨着simple_form_for
的錯誤是紅鯡魚,因爲我得到即使使用內置form_for
Rails的同樣的錯誤,並得到wrong number of arguments (3 for 2)
不管我有多少實際參數傳遞到這兩種方法。
meta_search自2012年2月2日以來還沒有發佈新版本,所以我只能假定gem中的某些內容與Rails 4的行爲不太相符。如果我發現這個問題具體是什麼,我會更新它回答。不得不「停止使用」meta_search似乎有些跛腳,但這與迄今爲止我所能提供的一樣。謝謝!
感謝芽,那固定的地雷 – 2013-10-07 02:42:44
呃哦: - /我們使用ActiveAdmin,meta_search是一個依賴項。所以我們不能升級到Rails 4,如果我們想保持AA? – sixty4bit 2015-01-16 19:32:54
從您的gem文件中刪除gem'meta_search',並使用gem ransack來代替。 https://github.com/activerecord-hackery/ransack
只需嘗試<%= form_for @email do | f | %> <% end %> – 2013-04-29 12:12:29
我也試過這個,我得到了上面提到的同樣的錯誤。 – 2013-04-29 12:14:08
顯示控制器代碼.. – 2013-04-29 12:30:27