我正在构建一个电子商务客户端集成到其网站中的产品搜索小部件。假设我有100个客户,每个客户有1000个产品。
特定客户网站上的访问者只能搜索该客户的产品。
鉴于产品在客户之间共享完全相同的属性(ID,名称,价格等):
我应该为每个客户使用单独的索引,还是使用一个索引来存储所有客户端'产品并以某种方式将每个产品与客户联系起来?
提前致谢。
答案 0 :(得分:7)
我强烈建议您为每个客户创建一个单独的索引,因为它允许您拥有
如果采用其他方法,情况并非如此。
答案 1 :(得分:1)
您只能使用一个索引。使用before_action :find_client
方法,通过诸如client_id
所以在你的控制器的私人部分添加
private
def find_client
@client = Client.find(params[:client_id])
end
并确保用户只能看到此客户的产品。为此,您需要在访问索引页时在params中传递client_id。
根据您的应用程序在索引操作中的结构,您需要过滤客户端的产品。客户端由find_client方法设置的位置。