2017-10-13 130 views
0

在我的項目中,我有一個Organization模型和一個Address模型。這裏是模型之間的關聯:如何在rails中創建包含關聯模型字段的視圖?

class Organization < ApplicationRecord 
    belongs_to :adresse 
end 

class Organization < ApplicationRecord 
    has_one :organization 
end 

我想知道如何創建一個新的表單幷包含這兩個模型的屬性。就目前而言,我的組織/ new.html.erb是這樣的:

<%= form_with(model: organization, local: true) do |form| %> 
    <% if organization.errors.any? %> 
    <div id="error_explanation"> 
     <h2><%= pluralize(organization.errors.count, "error") %> prohibited this organization from being saved:</h2> 
    <ul> 
     <% organization.errors.full_messages.each do |message| %> 
     <li><%= message %></li> 
     <% end %> 
    </ul> 
    </div> 
    <% end %> 

    <div class="field"> 
    <%= form.label :organizationName%> 
    <%= form.text_field :organizationName, id: :organization_organizationName %> 
    </div> 

    <div class="field"> 
    <%= form.label :email %> 
    <%= form.text_field :email, id: :organization_email %> 
    </div> 

    <div class="field"> 
    <%= form.label :website %> 
    <%= form.text_field :website, id: :organization_website %> 
    </div> 

    <div class="actions"> 
    <%= form.submit %> 
    </div> 
<% end %> 

我試圖將其添加到形式,但地址的方法無法識別:

<div class="field"> 
    <%= form.label :streetNumber %> 
    <%= form.text_field :organization.address.streetNumber%> 
</div> 

在控制器,I有機會獲得像組織的地址:

@organization.address.streetNumber 

PS:我是新來的Rails)

回答

1

這就是fields_for是。

<%= form_for @person do |person_form| %> 
    First name: <%= person_form.text_field :first_name %> 
    Last name : <%= person_form.text_field :last_name %> 

    <%= fields_for :permission, @person.permission do |permission_fields| %> 
    Admin? : <%= permission_fields.check_box :admin %> 
    <% end %> 

    <%= person_form.submit %> 
<% end %> 
+0

我是否將其包含在我的實際表單中?像下面的orgazisation字段? –

+0

@ÉmilePettersen-Coulombe:是的,'<%= fields_for:adresse,organization.adresse do | address_fields | %>'等等 –

+0

它正在工作,但是當我試圖創建一個組織時,它說這個地址必須存在。 –

相關問題