2016-07-26 8 views
0

레일 4.2.3을 사용하고 있습니다. 내 로그에Rails에서 텍스트 필드를 미리 채우는 방법은 무엇입니까?

address; #<Address:0x007f7f99a8d390> city: calgary 

를 출력 내 컨트롤러

def edit 
    @user = current_user 
    puts "address; #{@user.address} city: #{@user.address.city}" 
    @default_country_selected = Country.find_by_iso('US') 
    end 

class User < ActiveRecord::Base 
    belongs_to :address 

나는이가 ... 내 모델이 있습니다. 그런 다음 내보기는 위의 컨트롤러에 해당하는에, 나는

<input placeholder="City" class="textField" type="text" name="user[address][city]" id="user_address_city" /> 

로 텍스트 필드를 렌더링

<%= form_for(@user) do |f| %> 
    … 
    <%= f.fields_for :address do |addr| %> 
    <%= addr.label :address, "Home Town" %><br/> 
    <div class="field"><%= addr.text_field :city, placeholder: "City", :class => 'textField' %></div> 

을 가지고 있지만 당신이 볼 수 있듯이, 렌더링에는 "값"속성이 없습니다. 주소 도시의 가치로 미리 채워진 텍스트 필드를 얻으려면 어떻게해야합니까? 이 경우 < "캘거리"입니까?

+0

어때 이것에 대해 : <% = addr.text_field : city, placeholder : "City", : class => 'textField', value : addr.city %>'? – Thanh

답변

1

아래와 같이 값을 지정하면 매우 간단합니다. 미리 채울 것입니다.

<%= addr.text_field :city, placeholder: "City", :class => 'textField' , value: @user.address.city %> 
관련 문제