title: Problem with has_many :through and fields_for
body: <p>I have a pretty basic association:</p>
  
  <pre><code># user.rb
  class User &lt; ActiveRecord::Base
    has_many :services, :through =&gt; :subscriptions
    has_many :subscriptions, :accessible =&gt; true
    accepts_nested_attributes_for :subscriptions
  end
  
  # service.rb
  class Service &lt; ActiveRecord::Base
    has_many :users, :through =&gt; :subscriptions
    has_many :subscriptions
  end
  
  # subscription.rb
  class Subscription &lt; ActiveRecord::Base
    belongs_to :user
    belongs_to :service
  end
  </code></pre>
  
  <p>The Subscription has also a boolean column "notification" which I need to configure individually, so i looked into the <a href="http://railsapi.com/doc/v2.3.2/classes/ActionView/Helpers/FormHelper.html#M001309" rel="nofollow noreferrer">API</a>, followed the example and came up with this code for my form:</p>
  
  <pre><code>- if current_user.subscriptions.length &gt; 0
    %fieldset#subscriptions
      %legend Abonnements
      %table
        %tr
          %th.name
          %th.notification Notifications?
        - for subscription in current_user.subscriptions do
          %tr
            - f.fields_for :subscriptions, subscription do |s|
              %td=subscription.service.name
              %td= s.check_box :notification
  </code></pre>
  
  <p>But when I save the Form, all associated subscriptions are destroyed. Whereas when I check the checkbox it wont be deleted, <strong>but the checkbox is not saved either</strong>. Does anyone know what I'm doing wrong?</p>