2014-08-27 70 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