0

ユーザーデータベースにユーザーレコードが作成された後(ユーザーモデルを介して)、ユーザーが入力するユーザープロファイルフォームがあります。プロファイルフォームとプロファイルフィールドには、実際にはユーザーテーブルからの電子メールフィールドがあります。これが私の設定です:

class Profile < ActiveRecord::Base
  belongs_to :user
  accepts_nested_attributes_for :user
  ...

class User < ActiveRecord::Base
  has_one :profile
  ...

プロファイルフォーム:

<%= form_for @profile do |f| %>
  <%= f.fields_for :user do |l| %>
    <%= l.text_field :email, :placeholder => "email address" %>
  <% end %>
  ...

そして私のプロファイル->新しいメソッドでは、これがあります。

profile.build_user

..プロファイルが作成されると、まったく新しいユーザーレコードが作成されます。私が欲しいのは、プロファイルが作成されたときに、このユーザーのユーザーテーブルでメールアドレスが更新される必要があるということです。誰かが私のコードで問題を見つけることができますか?投稿したコードの最後の行と関係があるのではないかと思いますが、よくわかりません。

ありがとう。

4

1 に答える 1

0

:accepts_nested_attributes_for メソッドをチェックしてください。これがあなたが探しているものかもしれないと思います

http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html#method-i-accepts_nested_attributes_for

あなたが持つことができるユーザーモデルでaccepts_nested_attributes_for :user_profile

于 2012-08-19T03:36:53.327 に答える