我尝试为has_one关联创建一个嵌套的模型表单.(我正在使用Rails 4)
在我的用户和地址模型中,我有以下内容:
class User < ActiveRecord::Base
has_one :address
accepts_nested_attributes_for :address
end
class Address < ActiveRecord::Base
belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)
我的用户控制器:
class UsersController < ApplicationController
.
.
.
def edit
@user = User.find(params[:id])
@user.build_address if @user.address.nil?
end
def update
@user = User.find(params[:id])
if @user.update(params.require(:user).permit(:user_name, address_attributes: [:street]))
flash[:success] = "Profile updated successfully"
sign_in @user
redirect_to @user
else
flash.now[:error] = "Cannot updating your profile"
render 'edit'
end
end
end
Run Code Online (Sandbox Code Playgroud)
终于在我看来我有:
= form_for(@user) do |f|
= render 'shared/error_messages', object: f.object
%div
= f.label :user_name, …Run Code Online (Sandbox Code Playgroud)