我很困惑如何在Rails模型上定义依赖于其他关联关系的关联范围。
示例:
class Company
has_many :workers
has_many :employees
end
如果公司没有任何员工,我怎样才允许将员工添加到公司?如果它至少有一名员工,那么应该拒绝向公司添加员工,当我检索至少有一名属于该公司的员工的公司时,不应该在JSON响应中显示任何工人关联。
有什么想法吗?非常感激您的帮忙。谢谢!
答案 0 :(得分:1)
您可以使用块来扩展关联:
has_many :workers do
def << (value)
super value unless ...
end
end
要在序列化对象时显示与否,可以使用to_json方法选项,如:
@company.to_json(only: [:workers])
希望它有所帮助。