と呼ばれるブール値を持つモデルがありますdraft
の場合にのみフィールドの存在を検証したいdraft == false
。
私のモデル
if self.draft == false
validates :name, :presence => true, :length => { :maximum => 45 }
validates :description, :presence => true
validates :blurb, :presence => true, :length => { :maximum => 175 }
validates :category_id, :presence => true
validates :location_id, :presence => true
validates :goal, :presence => true
else
end
私のコントローラーで
def new
@item.new(:draft => false) || @item.new(:draft => true)
def create
if params[:commit] == "Create Item"
@cause = Item.new(params[:item], :draft => false)
elsif params[:commit] == "Save Changes"
@cause = Item.new(params[:item], :draft => true)
end
私のifステートメントを完全に無視し、クリックするとtrueかどうかを検証しますSave Changes
。
提案をいただければ幸いです。