当前位置:  开发笔记 > 编程语言 > 正文

添加到rails中的多个表

如何解决《添加到rails中的多个表》经验,为你挑选了2个好方法。

我敢肯定这是一个相对简单的问题,并且必须有一个很好的合理的轨道方式,但我不确定它是什么.

基本上我将书籍添加到数据库中,我想将作者存储在一个单独的表中.所以我有一个叫做作者的表,由表格书引用.

我想创建一个用于添加书籍的rails表单,我希望它只是Author,Title,Publisher等的简单表单,如果它发现作者已经在authors表中,那么它应该只引用该记录,如果它不在authors表中,那么它应该添加一条新记录并引用它.

我确信在rails中有一种简单的方法 - 但我似乎无法找到它.

干杯,

知更鸟



1> Micah..:

假设您的表单传递了author_name和带有book属性的书籍哈希,您可以在控制器中执行以下操作:

@author = Author.find_or_create_by_name(params[:author_name])
@book = Book.new(params[:book])
@book.author = @author
@book.save

这将通过该名称找到作者,或创建一个,然后将该作者分配给创建的书.

注意:这也假设作者可以通过他们的名字进行唯一标识,而这通常不是这种情况.例如,可能会有多个家伙把"Steven King"命名为"Steven King",其中只有一个人写了The Shining



2> Honza..:

我建议你在这里观看复杂形式系列的Railscasts .

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有