我正在使用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