我正在构建一个收藏夹功能。
例如:
class User < ActiveRecord::Base
has_many :favorites
end
class Product < ActiveRecord::Base
has_many :favorites
end
class Favorite < ActiveRecord::Base
belongs_to :user
belongs_to :product
end
方案
我有一个产品列表,我想在每个产品旁边添加一个[+] Add to favorites
链接。
我的问题
create
操作,或者我应该使用收藏夹控制器 - 甚至是用户控制器(因为它是用户的最爱)?正如您所看到的,我不确定将连接表的代码放在何处。谁“拥有”什么?我害怕使用不良反模式。
答案 0 :(得分:1)
您也可以在路线中设置关联,例如
resources :products do
resources :favorites
end
这将允许您从收藏夹控制器中创建收藏夹
比你可以用link_to_remote包装添加更多的收藏夹链接到你的收藏夹#create