У меня есть довольно простая проблема, но не могу понять, как ее решить. У меня две модели: Shop
и Mall
, которые связаны через таблицу соединений, которая называется MallShops
. Когда создается новый магазин, у меня есть возможность связать магазин с любыми торговыми центрами, существующими в базе данных, с помощью флажков. Проблема в том, что после того, как я сохранил магазины, я не знаю, как отобразить торговые центры, которые были связаны с этим магазином на странице показа магазинов. Это мой код:Rails - нужна помощь в отображении записей базы данных, связанных с has_many: через страницу «показать»
Модели:
class Mall < ActiveRecord::Base
has_many :mall_shops
has_many :shops, :through => :mall_shops
end
class Shop < ActiveRecord::Base
has_many :mall_shops
has_many :malls, :through => :mall_shops
end
class MallShop < ActiveRecord::Base
belongs_to :shop
belongs_to :mall
end
Регистрация стол: -
create_table "malls_shops", force: :cascade do |t|
t.integer "shop_id"
t.integer "mall_id"
end
магазин формы: -
<%= form_for(@shop) do |f| %>
<div class="field">
<%= f.label "Which malls does it belong to?" %><br>
<% Mall.all.each do |mall| %>
<%= check_box_tag "shop[mall_ids][]", mall.id, @shop.malls.include?(mall) %>
<%= mall.name %><br>
<% end %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>