0

我創建了這個文件的文件seeds.rb INDB/seeds.rb代碼未定義的方法`確認!'爲#<User>

puts 'SETTING UP DEFAULT USER LOGIN' 
user = User.create! :name => 'My Fir User', :email => '[email protected]', :password => 'please', :password_confirmation => 'please' 
user.confirm! 
user2 = User.create! :name => 'My Second User', :email => '[email protected]', :password => 'please', :password_confirmation => 'please' 
user2.confirm! 
puts 'New user created: ' << user.name 

它給我錯誤

rake aborted! 
undefined method `confirm!' for #<User:0x934ab30> 
/home/ritesh/.rvm/gems/ruby-1.9.3-p327/gems/activemodel-3.2.9/lib/active_model/attribute_methods.rb:407:in `method_missing' 
/home/ritesh/.rvm/gems/ruby-1.9.3-p327/gems/activerecord-3.2.9/lib/active_record/attribute_methods.rb:149:in `method_missing' 
/home/ritesh/Desktop/rails3-devise-rspec-cucumber/db/seeds.rb:10:in `<top (required)>' 
/home/ritesh/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:245:in `load' 
/home/ritesh/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:245:in `block in load' 
/home/ritesh/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:236:in `load_dependency' 
/home/ritesh/.rvm/gems/ruby-1.9.3-p327/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:245:in `load' 
/home/ritesh/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.9/lib/rails/engine.rb:520:in `load_seed' 
/home/ritesh/.rvm/gems/ruby-1.9.3-p327/gems/activerecord-3.2.9/lib/active_record/railties/databases.rake:333:in `block (2 levels) in <top (required)>' 
/home/ritesh/.rvm/gems/ruby-1.9.3-p327/bin/ruby_noexec_wrapper:14:in `eval' 
/home/ritesh/.rvm/gems/ruby-1.9.3-p327/bin/ruby_noexec_wrapper:14:in `<main>' 
Tasks: TOP => db:seed 
(See full trace by running task with --trace) 

,因爲它創建正在運行的用戶在開發數據庫,​​但是當它來到線 user2.confirm! 它拋出這個未定義的方法錯誤 我無法指出爲什麼一個實例確認!方法正在運行,第二個實例顯示未定義?

+0

您使用的設計爲用戶模型就像一個確認的象徵?因爲據我所知AR沒有確認!方法 – jizak

+0

yesi正在使用devise –

+2

確保在'User'類的'devise'方法參數中有':confirmable'。 –

回答

0

當您在模型中包含可確認模塊時,確認設計的功能。從它的外觀來看,我認爲你沒有在你的模型中使用過它。

你的代碼應該有以下

class User < ActiveRecord::Base 

    devise :database_authenticatable, :registerable, :omniauthable, :confirmable, 
     :recoverable, :rememberable, :trackable, :validatable 

end 
相關問題