Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7869657
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 3, 20262026-06-03T01:23:55+00:00 2026-06-03T01:23:55+00:00

I am making a Ruby on Rails app and am having trouble setting some

  • 0

I am making a Ruby on Rails app and am having trouble setting some attributes of my model. The problem is that I have a :before_save method, yet for some reason the encrypted_password and salt aren’t getting saved to the database. Here’s the model:

class User < ActiveRecord::Base
  attr_accessor :password
  attr_accessible :username, :email, :password

  before_save :encrypt_password

  ...

  private
      def encrypt_password
        logger.debug "Got to encrypt_password 1"
        logger.debug "encrypted_password is #{ @encrypted_password }"

        if @encrypted_password != nil and @encrypted_password != ""
          return # @encrypted_password was already set
        end

        logger.debug "Got to encrypt_password 2"
        @salt = make_salt if new_record?
        logger.debug "New salt = #{ @salt }"
        @encrypted_password = encrypt(@password)
        logger.debug "New encrypted_password = #{ @encrypted_password }"
        @password = "(encrypted)"
        logger.debug "Got to encrypt_password 3"
      end

In the log file, I see the following:

    Started POST "/users" for 127.0.0.1 at Wed May 02 22:55:20 -0500 2012
    Processing by UsersController#create as HTML
      Parameters: {"commit"=>"Submit", "authenticity_token"=>"RY9fSMqb2+tdQ0fIjiEz8cfMTWTi012vCWdCvbxACLk=", "utf8"=>"\342\234\223", "user"=>{"username"=>"test6", "password"=>"[FILTERED]", "email"=>"test6@gmail.com"}}
      [1m[36m (0.1ms)[0m  [1mbegin transaction[0m
      [1m[35mUser Exists (0.2ms)[0m  SELECT 1 FROM "users" WHERE LOWER("users"."email") = LOWER('test6@gmail.com') LIMIT 1
    Got to encrypt_password 1
    encrypted_password is 
    Got to encrypt_password 2
    New salt = 4f3464029393829aa562e533773f668c8471c51231611f6f214e654275f37184
    New encrypted_password = 0dafcff2fe75bb6f2b53afda79789cfe13bd3f733b817a0e2e30df98af5829bc
    Got to encrypt_password 3
      [1m[36mSQL (0.5ms)[0m  [1mINSERT INTO "users" ("created_at", "email", "encrypted_password", "is_done", "last_seen", "salt", "updated_at", "username") VALUES (?, ?, ?, ?, ?, ?, ?, ?)[0m  [["created_at", Thu, 03 May 2012 03:55:20 UTC +00:00], ["email", "test6@gmail.com"], ["encrypted_password", nil], ["is_done", false], ["last_seen", nil], ["salt", nil], ["updated_at", Thu, 03 May 2012 03:55:20 UTC +00:00], ["username", "test6"]]
      [1m[35m (0.7ms)[0m  commit transaction
    Redirected to http://localhost:3000/
    Completed 302 Found in 7ms (ActiveRecord: 1.4ms)

So it’s definitely making the salt and the encrypted password. Yet the database isn’t getting updated?!

>> User.find(6)
=> #<User id: 6, username: "test6", email: "test6@gmail.com", encrypted_password: nil, is_done: false, salt: nil, last_seen: nil, created_at: "2012-05-03 03:55:20", updated_at: "2012-05-03 03:55:20">
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-03T01:23:57+00:00Added an answer on June 3, 2026 at 1:23 am

    Try using self.encrypted_password.

    ActiveRecord makes getter/setter methods for your attributes, i.e.

    def encrypted_password
        ...
        # return something from the db
    end
    
    def encrypted_password=(x)
        ...
        # set something in the db to x
    end
    

    And when you write @encrypted_password, you’re not actually using these methods, so the database doesn’t get updated.

    You can see this in your log:

    [1m[36mSQL (0.5ms)[0m [1mINSERT INTO "users" ("created_at", "email", "encrypted_password", "is_done", "last_seen", "salt", "updated_at", "username") VALUES (?, ?, ?, ?, ?, ?, ?, ?)[0m [["created_at", Thu, 03 May 2012 03:55:20 UTC +00:00], ["email", "test6@gmail.com"], ["encrypted_password", nil], ["is_done", false], ["last_seen", nil], ["salt", nil], ["updated_at", Thu, 03 May 2012 03:55:20 UTC +00:00], ["username", "test6"]]

    salt and encrpyed_password is being set to nil, because you didn’t update the attribute, you updated a class member variable.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a Rails 3rc app on Ruby 1.9.2 that works fine, but Bundler
I have a Ruby on Rails model that has quite a few HABTM relationships.
I am making my first app in Ruby on Rails 3.1....Do I have these
I'm making a rails app that handles many, many posts. What i want to
I am currently using rails 3.0.7 and ruby 1.9.2 and making a rails App
I am making an app in ruby on rails and this is one of
I am making a Ruby on Rails app and I need to be able
I am making Ruby On Rails 3.0.3 app with JQuery 1.4.4 and jQuery UJS
So I'm making a rails app that also utilizes node.js for realtime features. What
I have a private Rails app that I'm trying to install locally. It's currently

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.