Да, вам нужно создать новый класс MenuItem
и связанную таблицу menu_items.
class Menu
has_many :menu_items, :order => 'sort_order'
has_many :items, :through => :menu_items
end
class MenuItem
belongs_to :menu
belongs_to :item
end
class Item
has_many :menu_items
has_many :menus, :through => :menu_items
end
В вашей таблице menu_items должен быть столбец для menu_id
, item_id
и sort_order
(или того, что вы используете в качестве имени столбца сортировки). Помните, что вам нужно обработать настройку sort_order
. Вы можете использовать плагин acts_as_list или добавить логику самостоятельно, в зависимости от ваших требований.