Ruby on rails ActiveRecord\u关联\u CollectionProxy:0x0000000e490b98在RoR中
我正在使用ruby on rails创建一个应用程序,但目前我遇到了一个问题,比如db关系,代码如下: 公司Ruby on rails ActiveRecord\u关联\u CollectionProxy:0x0000000e490b98在RoR中,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在使用ruby on rails创建一个应用程序,但目前我遇到了一个问题,比如db关系,代码如下: 公司 has_many :posts, :foreign_key => :company_id 职位 控制器 @post = current_user.companies.all 看法 上面显示错误代码 如果我debug喜欢使用然后显示我的公司下的所有帖子,但是当我使用时,然后显示ActiveRecord\u Associations\u CollectionProxy:0x00
has_many :posts, :foreign_key => :company_id
职位
控制器
@post = current_user.companies.all
看法
上面显示错误代码
如果我debug
喜欢使用
然后显示我的公司下的所有帖子,但是当我使用
时,然后显示ActiveRecord\u Associations\u CollectionProxy:0x0000000e490b98
谢谢,因为公司有很多:帖子。。。。。。。。文章是对象,你需要一个循环来显示所有的文章,例如
p、 posts.each do | post |我认为这里的问题是您试图在p.posts
上调用方法:post|u title
,这是一个ActiveRecord::Associations::CollectionProxy
对象
在您的示例中,p
是一个Company
对象,它有一个方法posts
,它向您返回一个CollectionProxy
对象,该对象的行为非常类似于一个posts列表。该列表没有方法post\u title
,但该列表的每个元素都有方法post\u title
因此,与其
<% @post.each do |p| %>
<%= p.posts.post_title %>
<% end %>
不是
2) 显示给您的实际错误可能是这样的
Undefined Method 'post_title' for ActiveRecord_Associations_CollectionProxy:0x0000000e490b98
不只是
ActiveRecord_Associations_CollectionProxy:0x0000000e490b98
在调试和请求帮助时,请务必注意引发异常的整个消息。您太棒了:)谢谢
<% @post.each do |company| %>
<% company.posts.each do |post| %>
<%= post.post_title %>
<% end %>
<% end %>
@companies = current_user.companies.all
@post = current_user.companies.all
Undefined Method 'post_title' for ActiveRecord_Associations_CollectionProxy:0x0000000e490b98
ActiveRecord_Associations_CollectionProxy:0x0000000e490b98