Reputation: 1348
Each subject has many pages and each page has many versions. On the show subject page for the owner of that subject, I want the user to be able to update all the pages and versions on that page. However, I get this error:
undefined method `versions' for nil:NilClass
My show page:
%h1
= @subject.title
%h3 Subject Synopsis
%p
= @subject.synopsis
- @subject.pages.each do |p|
%h6
= p.number
= ": " + p.title
%p
= p.synopsis
%table
%tbody
- p.versions.each do |v|
%tr
%td v.number
%td v.create_at
= render 'versions/form'
Versions form:
= simple_form_for [@page, @page.versions.build] do |f|
= f.input :number, placeholder: 'Number', label: false
= f.text_area :content, placeholder: 'Content', label: false
= f.button :submit
Upvotes: 0
Views: 227
Reputation: 1348
I wasn't passing through the loop variable. Answer is:
= render 'versions/form', p: p
= simple_form_for [p, p.versions.build] do |f|
Upvotes: 0
Reputation: 1129
- @subject.pages.each do |p|
%h6
= p.number
= ": " + p.title
%p
= p.synopsis
%table
%tbody
- p.versions.each do |v|
Upvotes: 2