2
我有這兩個模型:Company and CompanyContact。Rails 3.如何只顯示一個嵌套模型表單?
所以我平常...
companies_controller.rb
def edit
@company = Company.find(params[:id])
student = @company.students.build
company_contact = @company.company_contacts.build
end
company.rb
has_many :company_contacts, :dependent => :destroy
accepts_nested_attributes_for :company_contacts, :reject_if => :reject_company_contacts, :allow_destroy => true
company_contact.rb
belongs_to :company
form.html.erb
<%= f.fields_for :company_contacts do |builder| %>
<%= render "company_contact_fields", :f => builder %>
<% end %>
_company_contacts.html.erb
<p style="margin:5px 0;">
<%= f.label :first_name %><br />
<%= f.text_field :first_name, :class => 'text_field' %>
</p>
<p style="margin:5px 0;">
<%= f.label :email %><br />
<%= f.text_field :email, :class => 'text_field' %>
</p>
在編輯形式,如果我已經有一個公司一個公司接觸,它給了我現有的記錄加上另一個空公司聯繫表單隨時可以填寫。這是可以的,因爲它應該發生。
我需要做的只是一個公司聯繫,所以如果已經有公司聯繫人,我不想顯示另一個表格來添加額外的公司聯繫人。我不想設置has_one關係,因爲我的客戶可能希望在未來添加額外的公司聯繫人,並且當我嘗試has_one關係時,我遇到了一堆錯誤。
好吧,只有一家公司聯繫每家公司,我試過一個計數器解決方案,你知道在循環設置計數器= 0,然後檢查計數器> 0,但「解決方案」沒有工作。你會建議什麼?