2014-02-26 2 views
0

사용자 및 주소 모델에 대해 여러 양식을 만드는 데 문제가 있습니다. 페이지를로드 할 때 주소 입력란이 표시되지 않습니다.레일 4 다중 폼 (사용자 및 주소)

저에게 소스 코드를

모델 이하/주소

class Address < ActiveRecord::Base 
    has_one :user 
end 

모델/사용자

class User < ActiveRecord::Base 
    belongs_to :address 
    accepts_nested_attributes_for :address 
end 

컨트롤러/users_controller

class UsersController < ApplicationController 
    before_filter :require_user, :only => [:show, :edit, :update] 

def new 
    @user = User.new 
    @user.build_address 
end 

private 
def user_params 
    params.require(:user).permit(
    :first_name, 
    :last_name, 
    :email, 
    :password, 
    :password_confirmation, 
    addresses_attributes: [:id, :city] 
) 
end 
end 

보기/사용자/new.html .erb

<%= form_for @user do |form| %> 
    ... 
    <% form.fields_for :address do |builder| %> 
    <p> 
     <%= builder.label :city %><br /> 
     <%= builder.text_field :city %> 
    </p> 
    <% end %> 
    <%= form.submit "Register" %> 
<% end %> 

감사합니다.

답변

0

fields_for 호출에 대한 ERB 태그에서 =을 제외하여 작은 오타를 만들었습니다. 그것은이 = 실제로 양식을 렌더링되지 않고

<%= form.fields_for :address do |builder| %> 

을해야합니다.