查询视图中的数据

时间:2014-09-12 17:27:31

标签: ruby-on-rails-4

我有一个图片表,通过pic标签有很多标签。

在视图中,我将所有照片都展示出来

它有点被切断

<% @pics.each do |i| %>
  <div class="two-col inline-element">
    <div class="col-md-12 white-container no-padding">
      <%= link_to image_tag(i.picture.re_sized.url, alt: i.title), pic_path(i) %>
      <%= i.tags.category%> #my attempt 

我试图找到属于这个绑定到i对象的特定pic的标签。

我安装了更好的错误,所以当我做这样的事情时

i.tags.all

我收到了这个

[#<Tag id: 3, category: "Length", name: "stupid", created_at: "2014-09-12 17:18:44", updated_at: "2014-09-12 17:18:44">] 

我想查询类别和名称的值。

我尝试了

的变体
i.tags.all.category 

得到了

!! #<NoMethodError: undefined method `category' for #<Array:0x007fabc20c01a0>>

i.tags.all["category"]

!! #<TypeError: no implicit conversion of String into Integer>

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

由于i.tags是一个集合,因此您无法在其上调用categoryname。您需要为集合的每个成员执行此操作。

您可以在视图中执行以下操作,以显示属于i每个标签的类别和名称:

<% i.tags.each do |tag| %>
  <%= tag.category %>
  <%= tag.name %>
<% end %>