我有一个模型订阅,其中包含与参与者的属于关联。
订阅表单使用fields_for来构建关联的参与者字段。
表格中还有一个名为'other_person'的单选按钮。
当other_person字段设置为false时,我想要的是不保存关联的参与者表(因此也不验证)。
答案 0 :(得分:1)
我将假设other_person
是以下示例中Subscription
模型的字段:
class Subscription < ActiveRecord::Base
before_save :remove_empty_participant
belongs_to :participant
private
def remove_empty_participant
self.participant = nil unless self.other_person
end
end
如果它不是Subscription
模型的字段,则必须删除控制器操作中的属性:
class SubscriptionsController < ActionController
def create
params[:subscription].delete(:participant) unless params[:other_person]
# Save the subscription with your current params...
end
end
希望它有所帮助。