2011-11-15 2 views
0

ネストされたルートアクションをファーストクラスのメンバーとして機能させるにはどうすればよいですか?ネストされたルートメンバーをファーストクラスメンバーとして

私はFavoritesControllerの行動が(好きな/お気に入りから削除または破棄/作成)例えば、ルート内のLinksControllerのファーストクラスのメンバーのように行動したいと思い
resources :links do 
    resources :favorites 
end 

/link /:id/unfavorite .. これはRESTfulでしょうか?または、私はLinksControllerの中に好きな、または好きなようなアクションを置くべきですか?

resources :links do 
    member do 
    get :favorite 
    get :unfavorite 
    end 
end 

あなたのLinksControllerに好きなとお気に入りから削除アクションを定義する必要があります。

答えて

0

は、私はあなたがそのような何かをしたいと思います。

+0

好きなモデルがあっても、まだベストプラクティスですか?私はあなたがそれを記述したやり方をしました、私は、より良いメンテナンスのためにコントローラとビューフォルダを分離したほうがきれいかもしれないと思いました。しかし、私はその時のURIを嫌った。 – Everyman

+0

私にとって、それはモデルコードであり、コントローラコードではありません。だからあなたの好きな方法は次のようになります:@ link.favorite。すべてのコードはモデルに含まれます。異なるモデルでコミュニケーションコードをお持ちの場合は、モジュールをlibフォルダに作成し、このモジュールを使用してモデルを拡張することができます。 –

+0

Gotcha。ありがとうございました。 – Everyman

関連する問題