#nineitemvalue :: activerecord_associations_collectionproxy:0x007ff9706d24c0>

时间:2016-06-23 08:49:06

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

这很简单但不起作用。我错过了什么?

controlelr

 @guide      = Guide.friendly.find(params[:guide_id])
 @category   = @guide.categories.friendly.find params[:id]
 @items      = @category.category_items

视图

<% @items.each do |item| %>
  <%= item.category_item_values.value %>
<% end %>

给出

的无方法错误

undefined method 'value' for #<CategoryItemValue::ActiveRecord_Associations_CollectionProxy:0x007ff9706d24c0>

values表中有一个category_item_values列,所以我不确定问题是什么。

2 个答案:

答案 0 :(得分:2)

item.category_item_valuesCollectionProxy个实例(可能会将其视为有点数组。)

每个category_item [很可能,你没有提供足够的信息来更准确地猜测]许多值。如果上述假设是正确的,请转到:

<% @items.each do |item| %>
  <% item.category_item_values.each do |value| %>
    <%= value %> # or maybe (depending on your model) <%= value.value %>
  <% end %>
<% end %>

答案 1 :(得分:0)

您必须遍历每个category_item_values才能获得结果,因为这表明您的category_item_value是一个关联{。}}。

所以你可以做类似

的事情
<CategoryItemValue::ActiveRecord_Associations_CollectionProxy:0x007ff9706d24c0>