【问题标题】:Wrong Number of Arguments (3 for 2) when using Devise Authentication Gem使用 Devise Authentication Gem 时的参数数量错误(3 比 2)
【发布时间】: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: 

The full trace is here

这发生在我尝试使用 Devise gem 查找“/users/sign_in”时。如果这无法修复,我怎么会将我的 rails 降级到 3.0?我尝试将 gem 文件中的 rails 版本更改为 3.0.4,但它只是给我一个错误,即我的“activesupport”找不到合适的匹配项。

【问题讨论】:

  • 您使用的是设计 1.1rc0。它很老了。例如尝试将其升级到 1.5
  • 您是否尝试将您的 form_for 更改为 &lt;%= form_for(resource, :as =&gt; resource_name, :url =&gt; session_path(resource_name)) do |f| %&gt; ?
  • Devise 2.0.1 和 Rails 3.1.1 RC1 出现此错误

标签: ruby-on-rails devise gem


【解决方案1】:

您不能只是更改 rails 版本并认为它已经完成。事实上,Devise 已经发布了2.0.0。如果您觉得那是一些错误,请尝试。我自己使用的是 Rails 3.1,我没有遇到任何问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多