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製品のリストがあり、各製品の横にリンクを追加したいと考えています。

私の質問

  • リスト全体を form タグでラップして、コントローラに 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 に答える