【发布时间】:2012-01-08 08:35:40
【问题描述】:
我做了一些研究,我认为这个错误是由于在 Rails 3.1 和 3.0 中使用了不同的参数约定。我应该如何解决这个问题?
wrong number of arguments (3 for 2)
提取的源代码(第 3 行附近):
1: <h2>Sign in</h2>
2:
3: <%= form_for(resource_name, resource, :url => session_path(resource_name)) do |f| %>
4: <p><%= f.label :email %></p>
5: <p><%= f.text_field :email %></p>
6:
这发生在我尝试使用 Devise gem 查找“/users/sign_in”时。如果这无法修复,我怎么会将我的 rails 降级到 3.0?我尝试将 gem 文件中的 rails 版本更改为 3.0.4,但它只是给我一个错误,即我的“activesupport”找不到合适的匹配项。
【问题讨论】:
-
您使用的是设计 1.1rc0。它很老了。例如尝试将其升级到 1.5
-
您是否尝试将您的 form_for 更改为
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>? -
Devise 2.0.1 和 Rails 3.1.1 RC1 出现此错误
标签: ruby-on-rails devise gem