1

私はRailsに比較的慣れていません。

私はDeviseを通じてユーザーモデルを持っています。別の Profile モデルで、ユーザーに必要なすべての追加フィールドを持つ方が効率的かどうか疑問に思っています。

新しいモデルを作成し、そのモデルに has_one 関連付けを使用することを検討している同様の状況に遭遇していますが、 User モデル内のユーザーに属するすべての属性があれば、よりクリーンになるようです。そのような状況にどのように対処しますか?アプリケーションのパフォーマンスにどのような影響がありますか?

特にパフォーマンスの観点から、 has_one 関係を作成することの利点と欠点について詳しく説明できますか?

4

1 に答える 1

0

私もRailsに比較的慣れていませんが、これは私の見解です...

Rails におけるアソシエーションの利点は明らかだと思います。この特定のケースでは、どちらの方法でも問題ないと思います。考慮すべき点がいくつかあります...

has_one 関係を使用する場合、プロファイルを参照すると、次のような結果になることを覚えておく必要があります。

user = User.first

puts user.profile.first_name
puts user.profile.age

十分に単純ですが、そのようなものuser.first_nameが必要な場合は、そのメソッドを Profile モデルに委譲する必要があります。これはすべて好みの問題です。

于 2011-07-29T05:50:15.077 に答える