2016-03-02 4 views
0

У каждого предмета есть много страниц, и на каждой странице есть много версий. На странице темы для показа этого субъекта я хочу, чтобы пользователь мог обновлять все страницы и версии на этой странице. Тем не менее, я получаю эту ошибку:Rails - Вложенный цикл не работает

undefined method `versions' for nil:NilClass 

Моя страница шоу:

%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' 

Варианты формирования:

= 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 
+0

Можете ли вы разместить контроллер тоже? –

+0

Готово. Я думаю, что все это неправильно ... –

+0

где ваше действие на странице просмотра в вашем контроллере? –

ответ

0

я не проходил через переменную цикла. Ответ:

= render 'versions/form', p: p 


= simple_form_for [p, p.versions.build] do |f| 
2
- @subject.pages.each do |p| 
     %h6 
      = p.number 
      = ": " + p.title 
     %p 
      = p.synopsis 
     %table 
      %tbody 
      - p.versions.each do |v| 
+0

В чем разница между вашим кодом и кодом, который вставлен в вопрос? –

+0

вопрос был обновлен, так как я опубликовал этот ответ –

Смежные вопросы