Ruby on rails Rails有一对多的关联
我有一个模型sayRuby on rails Rails有一对多的关联,ruby-on-rails,ruby,associations,has-many,has-one,Ruby On Rails,Ruby,Associations,Has Many,Has One,我有一个模型say书和另一个模型say标题。下面简单定义了这些关联 class Book < ApplicationRecord has_one :title end class Title < ApplicationRecord belongs_to :book end 然后我就可以使用book.Title.create创建一个新的Title记录了。所以,我要做的是让它与has_one关联起作用,就像book.title=title.create!(foo:“b
书
和另一个模型say标题
。下面简单定义了这些关联
class Book < ApplicationRecord
has_one :title
end
class Title < ApplicationRecord
belongs_to :book
end
然后我就可以使用book.Title.create创建一个新的Title
记录了代码>。所以,我要做的是让它与has_one
关联起作用,就像book.title=title.create!(foo:“bar”,book\u id:book.id)
在后一种情况下,当我检查book.title
的值时,控制台返回
,但对于前者,book.title
返回nil
,因此出现了nil类的NoMethod错误
我试着按照官方文件和堆栈中关于这个的一些其他帖子。但不知何故,我仍然不清楚。这种行为的原因是Rails
创建了
方法以的形式为每个都创建一个关联名
。如果你需要额外的信息,这里有很多
因此,要为书籍
创建标题
,您需要以下内容:
book.create_title
它将执行这个技巧,您期待它的出现。这种行为的原因是Rails
创建了
方法以的形式为每个都创建一个关联名
。如果你需要额外的信息,这里有很多
因此,要为书籍
创建标题
,您需要以下内容:
book.create_title
它将执行这个技巧,您期望的是这是rails的实际行为吗?其他文档值得阅读吗?这是rails的实际行为吗?其他文档值得阅读吗