这很简单但不起作用。我错过了什么?
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
列,所以我不确定问题是什么。
答案 0 :(得分:2)
item.category_item_values
是CollectionProxy
个实例(可能会将其视为有点数组。)
每个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>