Я начал писать приложение, которое рассматривает книги, статьи и т.д. (название модели: шт) и имеет возможность рассмотреть главы или меньшие секции (разделы, подразделы и подподразделы модели)Как получить доступ к параметрам вложенных ресурсов из родительского контроллера в Ruby on Rails?
Я хочу, чтобы иметь возможность генерировать общий обзор фрагмента, в котором все вложенные разделы, подразделы и подсекции и их атрибуты будут перечислены в одном представлении. Так что мой routes.rb файл выглядит следующим образом:
resources :pieces do
resources :sections do
resources :subsections do
resources :subsubsections
end
end
end
который я с тех пор узнал, коряво, но слишком поздно для меня. В настоящее время я смог сделать это из подписок, потому что он имеет доступ ко всем родительским параметрам (штука_иде, section_id и т. Д.). Но это означает, что я должен спрыгнуть вниз по дереву в представление «Подгруппа», а затем перейти оттуда, тогда как мне хотелось бы получить доступ ко всем этим параметрам с контроллера Piece, чтобы я мог напрямую ссылаться на представление Piece на более общий обзор, без необходимости проходить весь путь вниз по цепочке.
Прошу прощения, если это простой вопрос, я только недавно начал работу.
Мои модели, как так:
И так, как я получить доступ к общему обзору сейчас использую указательное действие контроллера подподразделы:
def index
@piece = Piece.find(params[:piece_id])
@section = @piece.sections.find(params[:section_id])
@subsection = @section.subsections.find(params[:subsection_id])
end
Моего взгляд обращается к нему, как это:
<p><%= link_to "'General Piece Overview", piece_section_subsection_subsubsections_path(@piece, @section, @subsection), class: 'section_name' %></p>
Имеет ссылку на проект, если это помогает:
https://github.com/kingdavidek/StuddyBuddy
Привет, Спасибо, что ответили! Насколько я понимаю, невозможно сделать то, что я делал изначально, и это нормально. Я попытался реализовать то, что вы делаете, используя метод includes, но я получаю ** «NoMethodError в PiecesController # show», неопределенный метод 'includes 'для #. ** У вас есть идея, почему это ? –
Kingdavidek