ruby on rails - NoMethodError undefined method `save' for nil:NilClass -


what need fix this? new ruby on rails.

error when rspec ran

1) remember token should have nonblank remember token  failure/error: before { @user.save }  nomethoderror:    undefined method `save' nil:nilclass  # ./spec/models/user_spec.rb:125:in `block (2 levels) in <top (required)>' 

user_spec.rb

require 'spec_helper' describe user   before @user = user.new(name: "example user", email: "user@example.com", password: "foobar", password_confirmation: "foobar") end . . . { should respond_to(:remember_token) } . .   . describe "with password that's short"     before { @user.password = @user.password_confirmation = "a" * 5 }     { should be_invalid }   end   describe "return value of authenticate method"     before { @user.save }     let(:found_user) { user.find_by_email(@user.email) }     describe "with valid password"       { should == found_user.authenticate(@user.password) }     end     describe "with invalid password"       let(:user_for_invalid_password) { found_user.authenticate("invalid") }       { should_not == user_for_invalid_password }       specify { user_for_invalid_password.should be_false }     end   end end describe "remember token"   before { @user.save }   "should have nonblank remember token"     subject.remember_token.should_not be_blank    end end 

user.rb

class user < activerecord::base       attr_accessible :name, :email, :password, :password_confirmation        has_secure_password       before_save { |user| user.email = email.downcase }       before_save :create_remember_token        validates :name, presence: true, length: { maximum: 50 }       valid_email_regex = /\a[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i       validates :email, presence: true, format: { with: valid_email_regex },       uniqueness: { case_sensitive: false }       validates :password, length: { minimum: 6 }       validates :password_confirmation, presence: true        private       def create_remember_token         self.remember_token = securerandom.urlsafe_base64       end     end 

it looks block of code

describe "remember token" 

is outside block

describe user   ... end 

if move inside block, have before action fire creates @user object (which save in own before block)


Comments

Popular posts from this blog

java - Play! framework 2.0: How to display multiple image? -

gmail - Is there any documentation for read-only access to the Google Contacts API? -

php - Controller/JToolBar not working in Joomla 2.5 -