私はこれら2つのモデルを持っています:CompanyとCompanyContact。Rails 3.ネストされたモデルフォームは1つしか表示できません。
だから私は、私はすでに会社の会社の連絡先を持っている場合、それは私にその既存のレコードプラスにする準備ができて別の空の会社の連絡先フォームを与え、編集フォームで通常...
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>
を持っています記入。それは起こるはずだから大丈夫です。
私は、会社の連絡先が1つしかないので、会社の連絡先が既にある場合は、追加の会社の連絡先を追加するための別のフォームを表示したくありません。クライアントが将来的に余分な会社の連絡先を追加したいと思うかもしれないし、has_one関係を試したときにエラーがたくさんあるので、has_one関係をセットアップしたくありません。
会社ごとに会社の連絡先が1つしかない場合は、カウンタの解決策を試しましたが、counter = 0を設定してカウンタ> 0であることを確認しましたが、解決策は機能しませんでした。何をお勧めしますか?