1

2 つの Rails モデル間の関係をマッピングしたいと思います。一方の側はオプションです。もっと正確に言いましょう...

Profileユーザー プロファイル情報 (名前、年齢など)Userを格納するモデルと、アプリケーションへのユーザー アクセス (電子メール、パスワードなど)を格納するモデルの 2 つのモデルがあります。

さらに詳しい情報を提供するために、Userモデルはサインアップ/サインインのためにDevise gemによって処理されます。

私のアプリのシナリオは次のとおりです。

1/ ユーザーが登録すると、テーブルに新しい行が作成され、Userテーブルに同等の行がありProfileます。これにより、次のスクリプトが作成されます。

class User < ActiveRecord::Base
    belongs_to :profile
end

2/ ユーザーは登録せずに自分のプロファイルを作成できる (公開情報を含む公開プロファイルの一種) ため、行に対応する行Profileが必ずしもあるとは限りませんUser(ここではオプションのリレーション0..1、UML のリレーションを示します)。

質問:class Profile < AR::Baseオプションで を使用して mapに入れる対応するスクリプトは何Userですか?

前もって感謝します。

4

1 に答える 1

4
class Profile << ActiveRecord::Base
  has_one :user
end

すべての AR 関係はオプションです (少なくともデフォルトでは - それらが存在すると主張できるかどうかはわかりません)。profile.user関係が設定されていない場所を尋ねると、返されますnil

于 2012-10-03T15:35:28.493 に答える