如何显示其他模型附加到模型的信息?

时间:2010-02-24 00:43:15

标签: ruby-on-rails ruby

我刚刚完成了RoR的导言指南:http://guides.rubyonrails.org/getting_started.html。这是一个很好的指南,一切正常。

我试图通过Post视图中的SHOWING标签稍微扩展一下。 (该指南对其进行了设置,以便您可以在添加帖子时添加标签,即使Tag和Post是不同的模型)。

这可能很简单,我只是不知道该怎么做或找到这个具体的信息。

为了它的价值:

 <p>
  <b>Tags:</b>
  <%=h @post.tags %>
</p>

显示:

Tags: [#<Tag id: 2, name: "Awesome", post_id: 2, created_at: "2010-02-23 23:53:42", updated_at: "2010-02-23 23:53:42">]

2 个答案:

答案 0 :(得分:2)

我是否理解您将标签数据与发布数据一起获取但是对显示器不满意?

我会建议这样的东西让它看起来更漂亮:

<% @post.tags.each |tag|%>
<%= <span class=tag>tag.name</span> %>
<% end %>

理想情况下,您可以将其包装在部分

_show_tags.html.erb:

<% show_tags.each |tag|%>
<%= <span class="tag">tag.name</span> %>
<% end %>

并用

调用它
<%= render :partial => show_tags, :collection => @post.tags %>

答案 1 :(得分:0)

好的,我自己弄清楚了。我应该自己回答这个问题还是投票结束?

无论如何,这是答案:

转到帖子控制器,在“显示”操作中,将此行添加到:

@tag = Tag.find(params[:id])

找到所需的标签。然后在展后视图中,将此行添加到:

<p>
  <b>Tags:</b>
  <%=h @tag.name %>
</p>

这将打印标签的名称。