本人刚开始使用 devise,遇到来如下问题:
其他配置正确的情况下,按照http://hlee.iteye.com/blog/673058#bc2295346 文中设置开始,不过本人 ENV: ruby 1.9.3; rails 3.2.11; devise 1.1.rc0
在访问 devise 页面之前其他步骤小有波折,但都通过,且跟如下主要问题无关,是一个 mysql 的问题。
当我启动 webrick 之后,开始访问 devise 自带网页
http://127.0.0.1:3000/users/confirmation
返回的错误如下:
ArgumentError in Devise/confirmations#show
Showing /home/lihao/web/demo5/app/views/devise/confirmations/new.html.erb where line #3 raised:
wrong number of arguments (3 for 2)
Extracted source (around line #3):
1:
<%= f.label :email %>
Rails.root: /home/lihao/web/demo5
我查了许久发现还是有两个解决途径: 1,升级 devise。 2,将第三行 <%= form_for(resource_name, resource, :url => confirmation_path(resource_name)) do |f| %> 改为 <%= form_for( resource, :as=>resource_name, :url => confirmation_path(resource_name)) do |f| %> 我先尝试方法 2,修改之后回出现 unknowmethod 的错误,这个暂且不说。当我升级 devise 到 2.2.3 之后,再执行方法 2,这次可以显示了。可是我总不能能逐个去修改吧。 所以,如果有人遇到过,麻烦能给小弟带个路。感激不尽。 (注:发帖之前搜索发现无类似帖子,如果有情给个链接,我即可删除,谢过。)