我正在寻找合适的解决方案来实现这样的功能:
Book
属于Author
:name
,:biography
,:picture
等。)。不希望有人为我编写准备好的代码,但如果有人告诉我解决此问题的正确方法,我将非常感激
答案 0 :(得分:3)
您需要将以下内容添加到Book
模型
belongs_to :author
accepts_nested_attributes_for :author
现在在您的控制器中,您需要允许author_id
和author_attributes
如果您将:name, :biography, :picture
属性添加到author_attributes
,那么它会在author_id
个实例中创建新作者并保存新的Book
。
如果您指定author_id
,请不要指定author_attributes
。
发送到控制器的样本参数
{ "book":
{"name": "Sample Book Title",
"author_attributes":
{ name: "John Doe", biography: "Lorem Ipsum Dolor Sir Amet",
picture: "xxx.png"}
}
}
将创建一个新用户
或者这个
{ "book":
{"name": "Sample Book Title",
"author_id": 2
}
}
将为作者分配id为2的作者。
祝你好运。