2016-12-22 3 views
1

몇 달 전부터 오래된 Rails 2.X 웹 페이지를 Rails 4로 업그레이드하려고합니다. 일부 부분 렌더링보기로 여전히 고심하고 있습니다. 그래서 나는 약간의 도움을 사용할 수 있다고 생각했습니다. 누군가를 돕는다면 내 모든 upgrade notes을 저장했습니다. 하지만 이건 내가 생각할 수없는 것입니다.Ruby on Rails 4 렌더링 부분이 렌더링되지 않습니다.

현재 문제는 다음 코드는 주소 양식 (주석 참조) 만 인쇄한다는 것입니다.

보기/사용자/_seller.erb : 보기/사용자/create_seller.html.erb :

<table class="labels"> 
<tr> 
    <td>{Seller type}</td> 
    <td><%= seller.select(:stype, ["producer","distributor","store"]) %></td> 
</tr> 
(...) 
<h3>{Store/Pickup address}</h3> 
<% seller.fields_for :address do |address_fields| %> 
<!-- THIS IS NOT RENDERED!! --> 
<table class="labels"> 
<tr> 
    <td>{Address Line 1}</td> 
    <td><%= address_fields.text_field :line1 %></td> 
</tr> 
<!-- UP TO THERE IS NOT RENDERED!! --> 
<% end %> 

가이 부분보기이 하나라고

<h1>{Before you sell a product, please enter your seller information}</h1> 

<%= form_for @seller, :url => "/seller/create" do |f| %> 
    <h2>form</h2> 
    <% @seller.errors.full_messages.each do |msg| %> 
    <p><%= msg %></p> 
    <% end %> 
    <%= render partial: "seller", locals: {seller:f} %> 
    <%= f.submit "Submit" %> 
<% end %> 

을 수행해야하는 경우 내 모델을 참조하십시오. 그 이전 버전에서 일했기 때문에 나는 그것이 좋은 가정 : 모델/seller.rb

class Seller < ActiveRecord::Base 
    belongs_to :user 

    belongs_to :address, :class_name => "Address", :foreign_key => 'address_id' 
    accepts_nested_attributes_for :address, :allow_destroy => true 
    belongs_to :shipping_address, :class_name => "Address", :foreign_key => 'shipping_address_id' 
    accepts_nested_attributes_for :shipping_address, :allow_destroy => true 
end 

이 컨트롤러 코드

컨트롤러/users_controllers.rb

def create_seller #get 
    @user = @current_user 
    @seller = Seller.new 
    @seller.tax1 = 500 
    @seller.tax1_name_fr = "TPS" 
    @seller.tax1_name_en = "GST" 
    @seller.tax2 = 950 
    @seller.tax2_name_fr = "TVQ" 
    @seller.tax2_name_en = "QST" 
    @seller.build_address 
    @seller.build_shipping_address 
end 
+0

부분이 렌더링되면 fields_for 렌더링되지 않는 경우 질문의 이름을 – jamesc

답변

2
<% seller.fields_for :address do |address_fields| %> 

입니다

<%= seller.fields_for :address do |address_fields| %> 

<% 출력 뒤에 "="기호가 있음을 확인하십시오. 이미 알고있을 것입니다. 그러나 erb 태그에서 = 기호를 사용하면 버전 2.xx 이후에 큰 변화가있었습니다.

+0

으로 변경해야합니다. OMG 고마워! –

+0

<% form_for ... %>에 대해 깨달았지만 결코 <% object.fields_for ... %>에 대해서는 생각하지 않았습니다. 다시 한 번 감사드립니다! –