1

次のクエリがあります

SubCategory.joins(dropdown_heads: :dropdown_lists).where(id: params[:sub_cat_id])

上記のクエリは生成します

SELECT "sub_categories".* FROM "sub_categories" INNER JOIN "dropdown_heads" ON "dropdown_heads"."sub_category_id" = "sub_categories"."id" INNER JOIN "dropdown_lists" ON "dropdown_lists"."dropdown_head_id" = "dropdown_heads"."id" WHERE "sub_categories"."id" = 6

しかし、実際に必要なのは、dropdown_headsanddropdown_listsのみからレコードを取得することです。

それを達成するにはどのような変更が必要ですか?

以下は協会です

sub_category.rb

has_many: dropdown_heads

dropdown_head.rb

has_many: dropdown_lists
belongs_to: sub_category

dropdown_lists.rb

belongs_to: dropdown_head
4

3 に答える 3

0

sub_category インスタンスを取得する必要はありません。

    dropdown_heads = DropdownHead.find_all_by_sub_category_id(params[:sub_cat_id])

残りは@ rb512が言ったのとまったく同じです。

于 2013-10-27T15:03:40.377 に答える