ruby-on-rails - 在 Rails 3 模型中创建命名关系

标签 ruby-on-rails ruby ruby-on-rails-3 activerecord

我正在尝试学习 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/

相关文章:

ruby - 如何从一个范围返回一组天数和小时数?

ruby-on-rails-3 - Rails Engine - Gems 依赖项,如何将它们加载到应用程序中?

validation - 验证两个字段的唯一性,但避免第二个字段为空

ruby-on-rails - Rails,RSpec : How to test, 触发特定的邮件操作

javascript - 使用 collection_select() 过滤 fullCalendar() 上的事件

ruby-on-rails - 在 Rails 应用程序中将模型搜索逻辑放在哪里?

css - 突出显示标题和发布标题

ruby-on-rails - has_many :through and fields_for 问题

ruby-on-rails - 如何防止记录 Rails 堆栈跟踪

ruby - 是否可以同时迭代三个数组?