我正在尝试学习 Rails,并且正在努力理解如何使用 ActiveRecord 组件声明自关系。
如果我有这样的东西:
class Comment < ActiveRecord::Base
has_many :comments
belongs_to :comments
end
作为相关评论、评论的回复和评论的父级,如果它们具有相同的名称,我该如何访问它们?我不能只做 comment.comments
,它们需要有不同的名称。
谢谢。
最佳答案
首先,belongs_to
是一个单一关联,因此它是:
belongs_to :comment
...这样就不会出现名称冲突。
但对于确实存在冲突的情况,您始终可以重命名关系,例如:
has_many :comments
has_many :recent_comments, :class_name => 'Comment', :limit => 10, :order => 'id DESC'
查看更多关联选项示例 in the docs .
关于ruby-on-rails - 在 Rails 3 模型中创建命名关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7541477/