:throughメソッドを使用して多対多の関係を設定しており、すべてが正しく設定されていることをテストしたいと思います。
class MenuItem < ActiveRecord::Base
belongs_to :products #burger
belongs_to :additions #extra mustard
end
製品はハンバーガーのようなものになります
class Product < ActiveRecord::Base
has_many :menu_items
has_many :additions, through: :menu_items
end
追加は、余分なマスタードやピクルスのようなものになります
class Addition < ActiveRecord::Base
has_many :menu_items
has_many :products, through: :menu_items
end
ハンバーガーに2つの追加が関連付けられるようにフィクスチャを設定しました。次に、関連付けが機能することをテストします。これを行う方法が正確にはわかりません。私はこれを試しました:
フィクスチャでは、ハンバーガーのIDを22に設定しました。また、ハンバーガーにマスタードとピクルスを設定しました(2つの追加)。
test "product 22 should have 2 additions associated with it" do
menu_item = Product.find(22).additions
assert_equal menu_item.count, 2
end
初期化されていない定数エラーが発生します
NameError: uninitialized constant Product::Additions
私は何かを誤解しているだけだと確信しています。どんなポインタでも本当にありがたいです。