Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – Rails:返回参考对象所属的模型大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这可能是一个愚蠢的问题,但我似乎无法找到一个好的答案.我想知道引用一个对象所属模型的最佳方法.

例如:@H_944_3@

class User < ActiveRecord::Base
  has_many :posts
end

class Post < ActiveRecord::Base
  belongs_to :users
end@H_772_5@ 
 

所以,为了获得用户的帖子,我可以使用user.posts,但是为了获得帖子的用户,我不能这样做:post.user@H_944_3@

如果我向Post模型添加“用户”方法,它可以工作,但它似乎不是最好的方法.@H_944_3@

class Post < ActiveRecord::Base
  belongs_to :users

  def user
    User.find(self.user_id)
  end
end@H_772_5@ 
 

如果您以http://www.fortytwo.gr/blog/18/9-Essential-Rails-Tips这个博客文章为例,您可以看到作者使用的是post.user.username,它不能用于开箱即用以及:include => [:user],即使使用Post模型中的“user”方法也不起作用.@H_944_3@

我知道这很简陋,所以感谢你的耐心等待.我只是想知道实现这种关系的最佳方法.@H_944_3@

我的主要目标是使用嵌套包含来编写“查找”,它会像这样引用给用户:@H_944_3@

post = Post.find(:all,:include => [:user])@H_944_3@

当我尝试这个时,我得到“ActiveRecord :: ConfigurationError:未找到名为’user’的关联;也许你拼错了它?”@H_944_3@

非常感谢.@H_944_3@

解决方法

我对Rails有点新意,但这应该会自动生效……

啊 – 你已经将Post中的父类命名为belongs_to:users;但由于它只属于一个用户,Rails期待belongs_to:user(当然还有belongs_to:users,:class_name =>“User”).@H_944_3@

那是:@H_944_3@

class Post < ActiveRecord::Base
  belongs_to :user
end@H_772_5@ 
 

应该做的工作.@H_944_3@

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – Rails:返回参考对象所属的模型全部内容,希望文章能够帮你解决ruby-on-rails – Rails:返回参考对象所属的模型所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。