2016-05-26 11 views
0

私はレールが初めてで、私の最初のアプリを書いています。現在、私(簡体字)モデル構造は次のようになります。 関連モデルはレールにネストされたルートを持っている必要があります

- user account 
    - profiles : many 
     - money 
     - level 
     - rating 
     - etc... 

はとても人がアカウントを作成することができ、そのアカウントで複数のプロファイルを持つことができます(ほとんど1つのアカウントの下に多くの文字を持つRPGゲーム、など) 。これらのプロファイルのそれぞれは、お金、評価などのように保存するための多くの異なるデータポイントを持つことができます。これらの関連するモデルのいくつかは、さらにネストすることができます。

私はこれらのルートを設定中です。私はconfig/routes.rbのリソースを使用しますが、これらのリソースをすべて入れたくありません。

各リソースを個別に宣言してもよろしいですか?

いずれのアプローチ(ネストとネストではない)にも長期的な/メンテナンスの利点はありますか?あなたはルートがしかし、あなたがしたいことができますヘルプ

+0

一般的な哲学は、1つのレベルを超えてネスティングを避けることです。第2に、フラットアクセスに加えて入れ子にすることは全く受け入れられます。 (コントローラーは何が渡されたかチェックしなければなりません) –

答えて

3

ため

感謝。ルーティングでRailsのリソースや規約を使用すると、プロセスが簡単になりますが、それ以外には本当の違いはありません。

私が知っている唯一のベストプラクティスは、URLのセクションが確実に関連していることです。たとえば:あなたはURLを通じて識別子を渡している場合

/dog-food  # OK 
/cat-food  # OK 
/dogs/dog-food # OK 
/cats/dog-food # NOT OK 

あなたが好ましくは、ネストされたURLの構造を持つようにしたいと思います唯一の時間です。 /dogs/14/food(「14」はDogのIDです)などです。ただし、さまざまな方法で複数のページにデータを渡すこともできます。

ルートは非常に柔軟性があり、自由にルートを設定できます。あなたのケースでは、/moneyにすべてのユーザーのお金のリストを表示することに問題はありません。そのルートに行くのは理にかなっていませんが、確かに可能です。

ちょうど意味があり、それは理にかなっています。理にかなっている?

+1

あなたは仲間を持ち上げますか?大丈夫です –

関連する問題