无法为 Authlogic 播种数据
当我在 Rails 3 应用程序中运行 rake db:seed
时,出现错误:
rake aborted!
undefined method 'find_or_create_by_first_name_and_last_name_and_role_and_email_and_password_and_password_confirmation'
下面分别是我的 create_users.rb
和 seeds.rb
文件。为什么没有动态创建 find_or_create_by_*
方法?
def self.up
create_table :users do |t|
t.string :first_name, :null => false
t.string :last_name, :null => false
t.string :role, :null => false
t.string :email, :null => false
t.string :crypted_password, :null => false
t.string :password_salt, :null => false
t.string :persistence_token, :null => false
t.string :current_login_ip
t.string :last_login_ip
t.datetime :current_login_at
t.datetime :last_login_at
t.timestamps
end
end
User.find_or_create_by_first_name_and_last_name_and_role_and_email_and_password_and_password_confirmation(...)
When I run rake db:seed
in my Rails 3 application I get the error:
rake aborted!
undefined method 'find_or_create_by_first_name_and_last_name_and_role_and_email_and_password_and_password_confirmation'
Below are my create_users.rb
and seeds.rb
files respectively. Why isn't the find_or_create_by_*
method being dynamically created?
def self.up
create_table :users do |t|
t.string :first_name, :null => false
t.string :last_name, :null => false
t.string :role, :null => false
t.string :email, :null => false
t.string :crypted_password, :null => false
t.string :password_salt, :null => false
t.string :persistence_token, :null => false
t.string :current_login_ip
t.string :last_login_ip
t.datetime :current_login_at
t.datetime :last_login_at
t.timestamps
end
end
User.find_or_create_by_first_name_and_last_name_and_role_and_email_and_password_and_password_confirmation(...)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
根据 文档:
我猜
password
和password_confirmation
是受保护的属性。According to the docs:
I'm guessing
password
andpassword_confirmation
are protected attributes.您在角色和电子邮件之间缺少“和”
User.find_or_create_by_first_name_and_last_name_and_role_and_email_and_password_and_password_confirmation(...)
You are missing "and" between role and email
User.find_or_create_by_first_name_and_last_name_and_role_and_email_and_password_and_password_confirmation(...)