Rails 3 devise アプリには、プロファイルとプライバシー設定を持つユーザーがいます。私は現在これを機能させていますが、効率が心配で、経験豊富なRails開発者のアドバイスが大好きです.
私は、devise を使用してユーザー モデルを生成し、プロファイル モデルとプライバシー モデルをスキャフォールディングして、サインアップに不要と見なされるアイテムを含めました。ユーザーにさまざまな設定リンクを持たせたいと思います。
アカウント設定 => Devise - 必要なログイン タイプのもの、ユーザー名、パスワードのみ プロファイル設定 => プロファイル モデル - 説明、アバター、誕生日など プライバシー設定 => プライバシー モデル - ユーザーのプロファイル フィールドの基本的な非表示/表示を制御するチェックボックス。
私は自分の関係を設定しました:
user.rb
has_one :profile
has_one :privacy
profile.rb
belongs_to :user
プライバシー.rb
belongs_to :user
これは私には恐ろしく非効率に思えます。プロファイルを表示するために、ユーザー、プロファイル、およびプライバシーの 3 つのテーブルを読み込むことに依存しています。
Profile と Privacy のすべてのテーブル列を users テーブルに含める必要があると思いますが、これはより理にかなっていますか? 異なるフォームをどのように分離しますか?
私の考えの 1 つは、プロファイルメソッドとプライバシーメソッドをユーザー コントローラーに追加するだけで、ユーザー ビューでプロファイル テンプレートとプライバシー テンプレートを作成できるようにすることでした。それぞれが編集するユーザー レコードのさまざまな部分を制御するさまざまなフォームを使用します。
これは理にかなっていますか?これは、私が現在持っているような個別の足場よりも理にかなっていますか?