jquery - 如果父级具有特定值的字段,则清除所有嵌套模型

标签 jquery ruby-on-rails validation ruby-on-rails-4 cocoon-gem

如果其父级具有特定值的字段,则尝试找出清除嵌套模型的最佳方法。

我有模型CompanyPersonRole。一个公司has_many people和一个人可以是承包商,这由people表中设置的 bool 值确定,通过以下单选按钮设置:

<%= f.input :contractor, as: :radio_buttons, label: 'Is this person a contractor?', input_html: { class: 'entity_tf form-control rtf radio radio-false' } %>

现在,如果用户在 View 中单击"is",则会向用户显示一个按钮,用户可以使用该按钮添加动态 cocoon 字段,并列出该个人承包商所具有的角色。

我的问题是:

假设添加了一堆角色后,用户突然意识到他正在编辑的人实际上不是承包商(或类似的东西),并决定将单选按钮更改为“否”。按照我的设置方式, radio 场将被简单地隐藏起来。这意味着它们将在提交表格时保存。 如果单选按钮设置为 false,提交表单后如何最好地删除它们?我正在考虑向模型添加一些条件/验证。

感谢您的任何想法。

最佳答案

使用 callback在您的 Person 模型中。

after_save :remove_all_roles, unless: :is_a_contractor_bool?

def remove_all_roles
    self.roles.delete(self.roles)
end

关于jquery - 如果父级具有特定值的字段,则清除所有嵌套模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31531438/

相关文章:

PHP错误: "Filename cannot be empty"

ruby-on-rails - rails : validates_uniqueness_of with conditions not working as expected

javascript - 如何使用 jquery 弹出第一个数组元素?

javascript - jQuery,必要时更新内容

javascript - 如何添加单击段落中任何单词时触发的工具提示?

ruby-on-rails - Rails Carmen 从代码中获取国家名称和州名称

ruby-on-rails - Rails.root 文件路径通配符

javascript - 是什么让后退按钮在某些网站上不起作用?

ruby-on-rails - Rails SQL 正则表达式

php - 如何修复 PHP 表单验证器错误?