首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails --如何同时将“商店”与多个“购物中心”联系起来?

Rails --如何同时将“商店”与多个“购物中心”联系起来?
EN

Stack Overflow用户
提问于 2015-09-07 17:33:49
回答 1查看 46关注 0票数 0

我正在制作一个简单的rails应用程序,它是科威特所有商场和购物中心内商店的目录。我创建了一个商店模型和Mall模型,并建立了以下关联:

代码语言:javascript
复制
class Shop
has_many_and_belongs_to :malls

class Mall
has_many :shops

由于同一家商店可以存在于多个购物中心,我希望有一种方式,让我在同一时间将一家商店与多家商场联系起来。当我去购物中心展示页面时,如何才能使一家商店自动出现在许多不同的购物中心下,而不必每次为每个购物中心单独创建相同的商店。换句话说,当我创建一个新的商店时,我需要能够选择商店所属的购物中心,然后让该商店出现在我之前指定的购物中心中。

更新:在创建过程中,解释将商店分配给一个特定的购物中心。例如,当我创建一个新商店时,如何指定它属于Mall A和Mall B,而不是Mall C,然后将它们显示在相应的购物中心显示页面中?

EN

回答 1

Stack Overflow用户

发布于 2015-09-07 17:52:43

你可以有一个HABTM协会来处理这个问题,

代码语言:javascript
复制
   class Shop < ActiveRecord::Base
     has_and_belongs_to_many :malls
   end

   class Mall < ActiveRecord::Base
     has_and_belongs_to_many :shops
   end

为Shop和mall表创建迁移,您需要进行迁移才能创建一个作为商店和购物中心之间连接的表。它应该包含mall_id和shop_id作为属性。

代码语言:javascript
复制
rails g migration create_mall_shops

更新控制器代码:

代码语言:javascript
复制
 shop = Shop.find(params[:id])
 mall = Mall.find(params[:mall_id])
 shop.malls << mall

shop.malls会给你一系列与商店相关的购物中心。现在,如您所料,在shop.malls数组中,只推送购物中心对象A和B,所以购物中心C永远不会与商店相关。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32443643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档