Rails嵌套属性 – 不创建父级
我有以下型号:
class Parent has_many :cars accepts_nested_attributes_for :cars end class Car belongs_to :parent validates :parent, presence: true end
控制器代码:
def create parent = Parent.new parent.attributes = parent_params parent.save end def parent_params params.require(:parent).permit(:name, cars_attributes: [:name]) end
当我尝试使用Cars
创建Parent
时,由于尚未创建Parent
因此在Cars
上validation失败。 当通过嵌套属性创建validation时,如何使其通过validation?
基于快速搜索,您可以使用:inverse_of
来克服这种情况。
在你的代码中:
class Parent has_many :cars, inverse_of: :parent accepts_nested_attributes_for :cars end class Car belongs_to :parent validates :parent, presence: true end
(未测试)
查看dem来源:
- validation父对象的存在 (滚动到该部分)。
- 关于github的问题
- 一些post我没有费心阅读,但在上面的问题上被引用
GL&HF。