代码之家  ›  专栏  ›  技术社区  ›  irl_irl

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

  •  0
  • irl_irl  · 技术社区  · 15 年前

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

    我试图通过在后视图中显示标签来稍微扩展它。(指南将其设置为可以在添加日志时添加标签,即使标签和日志是不同的模型)。

    这可能很简单,我就是不知道该怎么做,也不知道该如何找到这些具体的信息。

    为了它的价值:

     <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 回复  |  直到 15 年前
        1
  •  2
  •   ajmurmann    15 年前

    我是否理解您正确地将标签数据与发布数据结合在一起,但对显示不满意?

    我建议这样做,让它看起来更漂亮:

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

    理想情况下,你可以用一个部分包装这个

    _显示\u tags.html.erb:

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

    然后打电话给

    <%= render :partial => show_tags, :collection => @post.tags %>
    
        2
  •  0
  •   irl_irl    15 年前

    好吧,我自己想出来了。我应该自己回答这个问题还是投票结束?

    下面是答案:

    转到“Posts”控制器,在“Show”操作中,将此行添加到:

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

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

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

    这将打印标签的名称。

    推荐文章