ActiveRecord에서 기본값을 어떻게 설정합니까?
나는 추악하고 복잡한 코드 덩어리를 설명하는 Pratik의 게시물을 참조하십시오 : http://m.onkey.org/2007/7/24/how-to-set-default-values-in-your-model
class Item < ActiveRecord::Base
def initialize_with_defaults(attrs = nil, &block)
initialize_without_defaults(attrs) do
setter = lambda { |key, value| self.send("#{key.to_s}=", value) unless
!attrs.nil? && attrs.keys.map(&:to_s).include?(key.to_s) }
setter.call('scheduler_type', 'hotseat')
yield self if block_given?
end
end
alias_method_chain :initialize, :defaults
end
나는 다음과 같은 예제가 인터넷을 통해 보았습니다.
def initialize
super
self.status = ACTIVE unless self.status
end
과
def after_initialize
return unless new_record?
self.status = ACTIVE
end
또한 사람들이 마이그레이션에 넣는 것을 보았지만 모델 코드에 정의 된 것을 보았습니다.
ActiveRecord 모델에서 필드의 기본값을 설정하는 정식 방법이 있습니까?