更新动态表单rails中的属性

时间:2014-01-04 13:40:21

标签: ruby-on-rails forms ruby-on-rails-3.2 ruby-on-rails-4 dynamic-forms

我有条件属性的动态表单。

E.g。如果选中单选按钮“condition1”,则“price”字段通过jQuery动态隐藏,并显示“percentage”字段。

假设我使用“condition1”单选框创建了记录并设置了“百分比”值。然后,我决定更新记录,并禁用“condition1”,因此百分比字段隐藏,并为“价格”设置新值。

问题是,如果我禁用“condition1”,“百分比”参数仍然存在,我需要的是“价格”或“百分比”参数。我可以在点击时使用jQuery removeAttribute(),但这是糟糕的用户体验,因为在某些领域我有多行textareas,如果他们不小心点击了单选按钮,我不想强​​迫用户再次写入。

我试过玩ActiveModel :: Dirty没有运气

在对象控制器的编辑操作中

   if @object.condition_changed? && @object.condition_was == "condition1"
      @object.attribute(:percentage, nil)
    end

1 个答案:

答案 0 :(得分:0)

您可以运行像

之类的更新后回调
after_update: set_nil_to_unrequired_field 

def set_nil_to_unrequired_field 
 update_column('your field ', nil) if "other field is present"
end