1

我正在建立一个收藏夹功能。

例如:

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每个产品旁边添加一个链接。

我的问题

  • 我是否将整个列表包装在一个表单标签中,以便我可以使用 POST 到某个控制器 - 或者我是否使用 link_to_remote 标签做一些事情?
  • create应该使用产品控制器的动作,还是应该使用收藏夹控制器 - 甚至是用户控制器(因为它是用户的收藏夹)?

如您所见,我不确定在哪里放置连接表的代码。谁“拥有”什么?我害怕使用不好的反模式。

4

1 回答 1

1

您也可以在路线中设置关联,例如

resources :products do
  resources :favorites
end

这将允许您从您的收藏夹控制器处理收藏夹的创建

比你可以用link_to_remote添加更多的收藏夹将它链接到你的收藏夹#create

于 2012-05-10T22:13:40.477 回答