26
ActiveRecordにデフォルト値を設定するにはどうすればよいですか?
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 …