2012-01-08 49 views
1

我做了一些研究,我认为这个错误是由于在Rails 3.1中使用了不同的参数约定而不是3.0。我该如何解决这个问题?使用设计验证时错误的参数个数(3个,2个)Gem

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

,而我试图查找 “/用户/ sign_in” 与使用设计的宝石发生这种情况。如果这是不可修复的,我会如何将我的rails降级到3.0?我尝试将gem文件中的rails版本更改为3.0.4,但它只是向我抛出一个错误,我的“主动支持”找不到合适的匹配项。

+2

您正在使用devise 1.1rc0。它很旧。尝试将其升级到1.5,例如 – 2012-01-08 08:39:14

+0

您是否尝试将form_for更改为'<%= form_for(resource,:as => resource_name,:url => session_path(resource_name))do | f | %>'? – 2012-01-08 12:58:38

+0

我有Devise 2.0.1和Rails 3.1.1 RC1的这个错误 – Mike 2012-07-07 22:34:19

回答

2

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

相关问题