2014-08-27 23 views
-1

我想在用户模型数据添加到买家和控制台显示错误ROR语法错误未知属性:电子邮件

ActiveRecord::UnknownAttributeError: unknown attribute: email 
    from /home/weare138/.rvm/gems/ruby-2.1.2/gems/activerecord-3.2.19/lib/active_record/attribute_assignment.rb:88:in `block in assign_attributes' 
    from /home/weare138/.rvm/gems/ruby-2.1.2/gems/activerecord-3.2.19/lib/active_record/attribute_assignment.rb:78:in `each' 
    from /home/weare138/.rvm/gems/ruby-2.1.2/gems/activerecord-3.2.19/lib/active_record/attribute_assignment.rb:78:in `assign_attributes' 
    from /home/weare138/.rvm/gems/ruby-2.1.2/gems/activerecord-3.2.19/lib/active_record/base.rb:498:in `initialize' 
    from /home/weare138/.rvm/gems/ruby-2.1.2/gems/activerecord-3.2.19/lib/active_record/persistence.rb:44:in `new' 
    from /home/weare138/.rvm/gems/ruby-2.1.2/gems/activerecord-3.2.19/lib/active_record/persistence.rb:44:in `create' 
    from (irb):8 
    from /home/weare138/.rvm/gems/ruby-2.1.2/gems/railties-3.2.19/lib/rails/commands/console.rb:47:in `start' 
    from /home/weare138/.rvm/gems/ruby-2.1.2/gems/railties-3.2.19/lib/rails/commands/console.rb:8:in `start' 
    from /home/weare138/.rvm/gems/ruby-2.1.2/gems/railties-3.2.19/lib/rails/commands.rb:41:in `<top (required)>' 
    from script/rails:6:in `require' 
    from script/rails:6:in `<main>' 

写在这里是什么

u = User.create(login: "weare138", email: "[email protected]", password: "qwertyqwerty", password_confirmation "qwertyqwerty") 

我的用户模型

class User < ActiveRecord::Base 

#devise :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable 

    attr_accessible :login, :email, :password, :password_confirmation, :remember_me 

    has_one :cart 
    has_many :orders 
end 

这里是我的移民

class CreateUsers < ActiveRecord::Migration 
    def change 
    create_table :users do |t| 
     t.string :login 
     t.string :email 
     t.timestamps 
    end 
    end 
end 
+1

不users表有一个电子邮件列? – Spyros 2014-08-27 19:36:23

+0

您是否运行迁移? – 2014-08-27 19:48:18

回答

1

检查您的数据库并确保电子邮件列出现在用户下。如果不是,则创建一个向用户添加电子邮件列的rake迁移。

1

基本上,ActiveRecord::UnknownAttributeError告诉你,你正试图用数据库不知道的属性(虽然它是在你的模型中定义的)属性来构造一个用户。

0

运行迁移应该解决的问题:

bundle exec rake db:migrate 
+0

它不起作用 – weare138 2014-08-28 06:45:11

+0

@ weare138,什么不行,迁移?你能给更多的上下文吗? 您可以使用'rails c'进入rails控制台并键入User。您将获得所有用户属性。这将有助于解决问题。 – 2014-08-28 12:00:35