Ruby on Rails: before_save フィールドを小文字にする 質問する

Ruby on Rails: before_save フィールドを小文字にする 質問する

フォームのフィールドをデータベースに保存する前に小文字に変更しようとしています。これは私のコードですが、データベースからの出力はまだ大文字のままです。なぜコードが機能しないのでしょうか?

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

ベストアンサー1

downcase文字列のコピーを返しますが、文字列自体は変更しません。downcase!代わりに以下を使用してください:

def downcase_fields
  self.name.downcase!
end

見るドキュメンテーション詳細については。

おすすめ記事