私はこのプロジェクトモデルを持っています:
class Project < ActiveRecord::Base
validates :status, :inclusion => { :in => ['active', 'closed'] }
validates :title,
:presence => true,
:length => { :in => 4..30 }
before_save :set_default_status_if_not_specified
private
def set_default_status_if_not_specified
self.status = 'active' if self.status.blank?
end
end
次のような新しいオブジェクトを作成すると:
Project.create!(:title => 'Test 2', :pm_id => 1)
次のエラーが表示されます:検証に失敗しました: ステータスがリストに含まれていません しかし、ステータス フィールドは保存する前に入力する必要があります。