Hmmm... That may work... I would always be accessing assessment.data_entries for any lists or views. Reasons and Consequences are basically select criteria for each data entry. I would never reference reason.data_entries or consequence.data_entries
a has_many :data_entries, :through: :assessment may work though... Let me give that a shot... Now to figure out how to structure it... :-) On Wednesday, October 24, 2018 at 7:12:45 AM UTC-4, John Sanderbeck wrote: > > I'm working on a project that has the following setup > > I have a table called Assessment > > for each assessment there can be different reasons and consequences > defined for that assessment > > then for each assessment the teacher takes multiple data entries over a > period of time > > each data entry can choose multiple reasons and consequences from the ones > defined in the assessment > > So you have assessment > has_many :reasons > accepts_nested_attributes_for :reasons > has_many :consequences > accepts_nested_attributes_for :consequences > has_many :data_entries > accepts_nested_attributes_for :data_entries > > Then reasons > belongs_to :assessment > has_and_belongs_to_many :data_entries > > Then consequences > belongs_to :assessment > has_and_belongs_to_many :data_entries > > Finally data_entries > belong to assessment > has_and_belongs_to_many :reasons > has_and_belongs_to_many :consequences > > There is also a join table for reasons to data_entries, and consequences > to data_entries > > The nested table works fine for the reasons, consequences, and the base > data_entries > > however what I cannot get to work is the reasons and consequences chosen > in the data_entries > > what appears to be happening in params is that assessment comes back with > data_entries_attributes under it > however there is also a data_entry param coming back as well, so it is not > part of assessment, so the nest is wrong somehow... > > I have this working in other places however this nest is one level deeper > than the others... > > The way I have the nested form section setup is this... > > <td> > <div class="multi-column"> > <ul> > <% @assessment.reasons.each do |reason| -%> > <ul> > <%= check_box_tag('data_entry[reason_ids][]', reason.id, > @assessment.reason_ids.include?(reason.id), :multiple => true) %> > <span rel="tooltip" title="<%= reason.assessment_id %>"><%= > reason.name %></span> > </ul> > <% end %> > </ul> > </div> > </td> > <td> > <div class="multi-column"> > <ul> > <% @assessment.consequences.each do |consequence| -%> > <ul> > <%= check_box_tag('data_entry[consequence_ids][]', > consequence.id, @assessment.consequence_ids.include?(consequence.id), > :multiple => true) %> > <span rel="tooltip" title="<%= consequence.assessment_id > %>"><%= consequence.name %></span> > </ul> > <% end %> > </ul> > </div> > </td> > > > John > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-talk@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/749f9533-d198-4f8a-a2a5-98c6c5368452%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.