如何在Rails 4.0.3中呈现部分关系?

时间:2014-02-28 03:39:39

标签: ruby-on-rails ruby ruby-on-rails-4

这在Rails 4.0.0中运行,现在自从上周升级以来它什么也没显示。

这是HAML posts/_post.haml

=post.id
=post.tags
=post.tags.length
=render post.tags

输出,render不显示任何内容!

  

113 #<ActiveRecord::Associations::CollectionProxy::ActiveRecord_Associations_CollectionProxy_Tag:0x12388c08> 0

这显示post.tags.length为0.但是,帖子DOES有标签!他们都做了!

irb(main):168:0> p.id
=> 113
irb(main):169:0> p.tags.length
=> 2

那么为什么不在视图中进行局部渲染?我有部分内部的其他部分渲染。

当我转到post/show.haml时,它会很好地显示标签。

=@post.tags
=@post.tags.length
=render @post.tags
  

#<ActiveRecord::Associations::CollectionProxy::ActiveRecord_Associations_CollectionProxy_Tag:0xc24f9c0> 2 FINANCE BUSINESS

不确定是否重要,这是唯一与这种关系不同的东西。这是post模型。

has_many :taggings, :dependent => :destroy
has_many :tags, :through => :taggings

1 个答案:

答案 0 :(得分:0)

=post.tags.length

returning 0,表示没有与给定帖子关联的标签。

我建议您在posts/_post.haml

中添加以下内容
= post.id

运行代码应该为您提供当前帖子的id。 然后运行rails dbconsole以验证给定的帖子ID是否具有任何关联的标签。