2012-05-10 52 views
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操作,還是應該使用收藏夾控制器 - 甚至是用戶控制器(因爲它是用戶的收藏夾)?

正如你所看到的,我不確定在哪裏放置連接表的代碼。誰擁有什麼?我害怕使用不好的反模式。

回答

1

你可以設置你的路由協會以及諸如

resources :products do 
    resources :favorites 
end 

這將允許您從您的收藏夾控制器

韓德爾的收藏夾創建比你可以用加入了更多的收藏與link_to_remote將其鏈接到您的收藏夾#創建