0

Deviseを介してUSERを使用し、scaffoldを使用してプロファイルを作成しました。これですべてが正常に機能していますが、ユーザーをプロファイルに「接続」できません。

これは私がこれまでに行ったことです-

user.rb

has_one :profile

profile.rb

belongs_to :user

プロファイルテーブルでの移行によってもuser_id列を作成しました。

ログインしてフォーム/profiles/ newに入力すると、プロファイルが作成されますが、提出されたuser_idがNULLであるため、ユーザーにリンクされていません。また、ユーザーは複数のプロファイルを作成できますが、私が:has_one関係を設定したため、ユーザーは1つしか作成できないと思っていました。

ヘルプはありますか?

編集-profiles_controllerファイルで、私も変更しようとしました

@user_profile = UserProfile.new(params[:user_profile])

@user_profile = current_user.userprofile.new(params[:user_profile])

しかし、それは未定義のメソッド'UserProfile'を与えています

4

1 に答える 1

2
@user_profile = current_user.userprofile.new(params[:user_profile])

する必要があります

@user_profile = current_user.build_user_profile(params[:user_profile])
于 2012-12-29T12:45:56.773 に答える