ボックスからすべてのアイテムのデータを取得しようとしています。ボックスにはコンパートメントがあり、ボックス レベルですべてのコンパートメント情報を取得したいと考えています。ボックスには必ずしもコンパートメントがあるとは限らないため、アイテムはポリモーフィックに作成されます。
モデル
class Box < ActiveRecord::Base
has_many :compartments
has_many :items, :as => :itemable
end
私のコントローラーでは、次の方法で結果を取得できます。
@box = Box.find(params[:id])
@itemable = @box.compartments.first
@itemable = @box.compartments.last
見る
<% @items.each do |item| %>
<%= item.name %>
<% end %>
しかし、私が試してみると
@itemable = @box.compartments
また
@itemable = @box.compartments.find(:all)
エラーが発生します
undefined method `items' for #<ActiveRecord::Array>
また
undefined method `items' for #<ActiveRecord::Relation>
すべてのコンパートメントから結果を取り戻すのを手伝ってくれる人はいますか?