这在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
答案 0 :(得分:0)
=post.tags.length
是returning 0
,表示没有与给定帖子关联的标签。
我建议您在posts/_post.haml
= post.id
运行代码应该为您提供当前帖子的id
。
然后运行rails dbconsole
以验证给定的帖子ID是否具有任何关联的标签。