ruby-on-rails – Rails:返回参考对象所属的模型
这可能是一个愚蠢的问题,但我似乎无法找到一个好的答案.我想知道引用一个对象所属模型的最佳方法.
例如: class User < ActiveRecord::Base has_many :posts end class Post < ActiveRecord::Base belongs_to :users end 所以,为了获得用户的帖子,我可以使用user.posts,但是为了获得帖子的用户,我不能这样做:post.user 如果我向Post模型添加“用户”方法,它可以工作,但它似乎不是最好的方法. class Post < ActiveRecord::Base belongs_to :users def user User.find(self.user_id) end end 如果您以http://www.fortytwo.gr/blog/18/9-Essential-Rails-Tips这个博客文章为例,您可以看到作者使用的是post.user.username,它不能用于开箱即用以及:include => [:user],即使使用Post模型中的“user”方法也不起作用. 我知道这很简陋,所以感谢你的耐心等待.我只是想知道实现这种关系的最佳方法. 我的主要目标是使用嵌套包含来编写“查找”,它会像这样引用给用户: post = Post.find(:all,:include => [:user]) 当我尝试这个时,我得到“ActiveRecord :: ConfigurationError:未找到名为’user’的关联;也许你拼错了它?” 非常感谢. 解决方法
我对Rails有点新意,但这应该会自动生效……
啊 – 你已经将Post中的父类命名为belongs_to:users;但由于它只属于一个用户,Rails期待belongs_to:user(当然还有belongs_to:users,:class_name =>“User”). 那是: class Post < ActiveRecord::Base belongs_to :user end 应该做的工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |