1

I've followed the guide which is excellent, however, when I add has_secure_password to my user model: class User < ActiveRecord::Base attr_accessible :name, :email, :password, :password_confirmation has_secure_password

  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
end

and then try to add a user via the rails console:

1.9.3-p125 :001 > User.create(name: "Michael Hartl", email: "mhartl@example.com",
1.9.3-p125 :002 >     password: "foobar", password_confirmation: "foobar")

I receive a very lengthy error message that starts with:

/Users/username/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/bcrypt-ruby-3.0.1/lib/bcrypt_ext.bundle: [BUG] Segmentation fault ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.3.0]

-- Control frame information -----------------------------------------------
c:0058 p:-17575139500290 s:0220 b:0220 l:000219 d:000219 TOP   
c:0057 p:---- s:0218 b:0218 l:000217 d:000217 CFUNC  :require

and continues for many more lines...

If I take out "has_secure_password" from user.rb and try to create the same user as above I receive the following error:

 ActiveRecord::UnknownAttributeError: unknown attribute: password

Finally, if I then insert "attr_accessor :password, :password_confirmation" into the model I can successfully add the user, however, the password_digest is nil.

I know I'm doing something wrong, however, I'm stumped.

JohnGalt
  • 2,851
  • 2
  • 21
  • 29

1 Answers1

0

CFUNC :require

You see - this is the root of the problem

there is similar problem problem with CFUNC

Most likely, the problem is not in code, but in rails(some parts are using different versions of it) or in gems. I recommend reinstall your environment and check, that everything correspons tutorial.

For example, it important to set gems such versions, that are in tutorial, even if there are new versions now.

Community
  • 1
  • 1
beornborn
  • 202
  • 4
  • 17