Ruby on Rails: before_save fields to lowercase

activerecord, database, ruby, ruby-on-rails, sqlite

Solution

`downcase` returns a copy of the string, doesn't modify the string itself. Use `downcase!` instead:

def downcase_fields
  self.name.downcase!
end

See documentation for more details.

Problem

I'm trying to change the fields from the form to lower case before they get saved in the database. This is my code but the output from the database is still in upper case why isnt the code working? ``` class Transaction < ActiveRecord::Base validates :name, presence: true validates :amount, presence: true, numericality: true before_save :downcase_fields def downcase_fields self.name.downcase end end ```

Original source