ユーザーは、自分が所有するカードを入力するために私のアプリにアクセスします。カードは発行ごとに整理されています。
Issue has_many Cards
したがって、基本ケース (1) は、ユーザーがログインしてコレクションを更新しているときに、
/issues/{id}
どのヒットがissues#show
render issues\show.haml
. このページでは、コレクションからカードを入力または削除します。ページにはあらゆる種類の並べ替えやボタンなどがあります...
他のユーザーがアクセスできるように、ユーザー コレクションを公開したい (2)
/{username}/issues/{id}
このページでは、カードの所有者ではなく、ログインしているユーザーに関連するその他の情報が表示されます。明らかな選択は、ネスト:issues
してすべて:users
を処理することです。IssuesController#show
しかしIssuesController#show
、すでに上記の最初のケースを処理しています。
実装の 1 つは、次のことです。
class IssuesController
def show
if(params[:user_id])
#do something
elsif
#do and render something else
end
end
end
...しかし、それはひどいようです。さらに、これはアプリの周りで使用する概念であり、そのようにすべてのコントローラーを汚染するのは嫌です。
この状況を処理するためのベスト プラクティスは何ですか?