Override ActiveRecord attribute methods

前端 未结 4 1869
臣服心动
臣服心动 2020-12-07 07:39

An example of what I\'m talking about:

class Person < ActiveRecord::Base
  def name=(name)
    super(name.capitalize)
  end
  def name
    super().downcas         


        
4条回答
  •  粉色の甜心
    2020-12-07 08:27

    As an extension to Aaron Longwell's answer, you can also use a "hash notation" to access attributes that have overridden accessors and mutators:

    def name=(name)
      self[:name] = name.capitalize
    end
    
    def name
      self[:name].downcase
    end
    

提交回复
热议问题