覆盖 has_many 关系的模型名称
考虑到这些模型,如果有一种更优雅的方法来做到这一点,那就太好了:
@forum_topic = ForumTopic.find(1)
@forum_topic.forum_sub_topics.each do |fst| #it would be nicer if one could just type @forum_topic.sub_topics.each...
#
end
必须在 sub_topics 前面包含 forum_ 似乎是多余的,因为我知道我正在处理 forum_topic。我可以将表/模型的名称更改为 SubTopic,但这有点通用,可能会出现在应用程序中的某个位置。 是否有办法覆盖在 ForumTopic 上为 has_many 关联创建的方法的名称?
模型:
class ForumTopic...
has_many :forum_sub_topics
end
class ForumSubTopic...
end
啊,答案就在这里。谢谢! :) http://guides.rubyonrails.org/association_basics.html
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
试试这个:
参考
ActiveRecord::Associations::ClassMethods has_many - 请参阅选项
Try this:
Reference
ActiveRecord::Associations::ClassMethods has_many - see under Options
是的,您可以指定您想要的任何关联名称,并仍然告诉它使用您的
ForumSubTopic
类:Yes, you can specify whatever association name you want and still tell it to use your
ForumSubTopic
class: