我有两个模型'文章'和'书签',并使用特定列'article_doi'作为foreign_key关联它们。
在article.rb中,
has_many :bookmarks, class_name: 'Bookmark', foreign_key: "article_doi", dependent: :destroy
在bookmark.rb中,
belongs_to :article, class_name: 'Article', foreign_key: "article_doi"
但是当我做article_object.bookmarks时,它返回一个nil 此外,当我执行bookmark_object.article时,它返回nil。
出了什么问题?
答案 0 :(得分:1)
正如@AndreyDeineko所说,有一些步骤可以让has_many / belongs_to关联起作用:
has_many/belongs_to
声明添加到模型中(看起来就像你已经这样做了)。article_doi
列添加到数据库中的bookmarks
表中(具有belongs_to
的模型是保存引用的表) 最后,您实际上需要在链接的数据库中保存一些记录!
a = Article.first
b = a.bookmarks.build
b.save!
a.reload.bookmarks.count # => 1