MenüpunktModell Verbände in Rails has_many und belongs_to
class MenuItem < ActiveRecord::Base
has_many :menu_tags
end
Menü Stichworte
class MenuTag < ActiveRecord::Base
belongs_to :menu_item
end
Migrationen:
class CreateMenuItems < ActiveRecord::Migration
def change
create_table :menu_items do |t|
t.string :name
t.string :description
end
end
end
class CreateMenuTags < ActiveRecord::Migration
def change
create_table :menu_tags do |t|
t.string :name
t.integer :menu_item_id
t.timestamps null: false
end
end
end
Wie kann ich diese Wanderung so ändern, wenn ich eine Abfrage ausführen, für einen Menüpunkt, kann ich alle damit verbundenen Menu Tags sehen? Gewünschte Abfrage:
MenuItem.first.menu_tags
Problem ist, mit den oben genannten, die Datenbankabfrage kann nicht effizient genug sein:
MenuItem.first = #<MenuItem id: 2, name: "Steak", description: "Shank, medium-rare", menu_tags = [#<MenuTag id: 1, name: "Spicy">, #<MenuTag id: 4, name: "Salty">], created_at: "2016-07-18 02:54:55", updated_at: "2016-07-18 02:54:55">
'MenuItem.joins (: Menutag) .all' versuchen Sie dies – uzaif