form_for rails 4中的参数数量错误

Zee*_*ood 8 ruby-on-rails ruby-on-rails-4

我正在使用form_for标签,它在Rails 3.0.4环境中工作.但是当我尝试将我的项目更新为Rails 4.它会出现以下错误

错误的参数数量(3为2).这是我的代码

   <%= form_for @email, :url => alerts_path do |f| %>
   <% end %>
Run Code Online (Sandbox Code Playgroud)

Edu*_*ezi 23

尝试删除可能尝试更改视图中的内容的内容.

在我的情况下,问题是client_side_validations gem

希望这可以帮助.

  • 有什么问题?你是怎么解决的? (2认同)

Mas*_*art 9

不知道为什么,但从我的Gemfile中删除"meta_search"gem修复了我在Rails 4上的确切问题.

如果你谷歌这个问题你可能会发现这个GitHub问题将其归因于"client_side_validations"gem,但是使用该repo建议的"rails-4-quick-fixes"分支并没有为我解决问题.

我认为错误simple_form_for是一个红色的鲱鱼,因为即使使用内置的Rails我也得到了相同的错误form_for,并且wrong number of arguments (3 for 2)无论我实际传递给任何一种方法的参数多少都会得到.

meta_search自2012年2月2日以来还没有新版本,因此我只能假设gem中的某些东西与Rails 4的表现不太好.如果我发现问题具体是什么,我会更新这个答案.不得不"停止使用"meta_search似乎有点蹩脚,但到目前为止,这是我能提供的.谢谢!


Nav*_*eed 0

我看不到您的 form_for 有任何问题,您可以发布异常的回溯吗?可能是另一个 gem 覆盖了默认的 form_for ?