ユーザーが送信メールに含まれる件名とメッセージを入力できるようにする部分的なフォームがあります。ユーザーが、電子メールが属する請求書に関連付けられている連絡先から電子メールの受信者を選択できるようにしたいと考えています。ネストされたフォームで選択された電子メール受信者は、別のテーブルに保存されます。
class EmailRecipient < ActiveRecord::Base
attr_accessible :contact_id, :email_id
belongs_to :email
end
class Email < ActiveRecord::Base
attr_accessible :subject, :message, :invoice_id, :email_recipients_attributes
belongs_to :invoice
has_many :email_recipients
accepts_nested_attributes_for :email_recipients
end
<%= simple_form_for [:invoice, @email], html: {class: "form-horizontal"} do |f| %>
<%= f.error_notification %>
<% @invoice.contacts do |c|%>
<%= f.fields_for :email_recipients do |builder| %>
<%= builder.input :contact_id, :as => :check_boxes %>
<%= c.name %><br/>
<% end %>
<% end %>
<%= f.input :subject, :as => "string" %>
<%= f.input :message, :input_html => { :class => 'span7', :rows => 10 } %>
<div class="form-actions">
<%= f.button :submit, "Send Invoice", :class => 'btn-warning' %>
<%= link_to 'Cancel', invoice_path(@invoice), :class => 'btn' %>
</div>
<% end %>