4

ユーザーモデルとプロファイルモデルがあり、同じフォームを使用してそれらにデータを入力します。私のコントローラーには次の行があります:@ user.build_profile

この行が何をするのか知りたいのですが。ユーザーとプロファイルの関係は1対1であり、プロファイルはユーザーに属します。

また、imageという新しいモデルがあります。ネストされた属性を使用して、ユーザーと1対多の関係を設定したいと思います。ユーザーcoltrollerでの新しいアクションでは、上記のような同様の行を使用する必要がありますか?@ user.build_image

完全に新しいアクション:

def new         
    @user = User.new
    @user.build_profile


    respond_to do |format|
      format.html # new.html.erb
      format.json { render json: @user }
    end
  end
4

1 に答える 1

9

build_profileは、空のプロファイルオブジェクト(@userに属します)を作成します。後で作成アクションで呼び出します

@user.save 

これにより、プロファイルが(ユーザーとともに)データベースに保存されます。

http://guides.rubyonrails.org/association_basics.html- 説明します

編集:has_manyリレーションの場合、

@user.images.build 

新しい画像モデルを作成します。このレールキャストはそれを越えます

http://railscasts.com/episodes/196-nested-model-form-part-1

于 2012-10-22T21:31:47.947 に答える