2016-12-03 1 views
0

Для личного achievment, я пытаюсь создать интернет-журнал, чтобы позволить людям прочитать некоторые новостиНе удается передать идентификатор вложенного маршруту

Я создал два подмостей, один для манги, а другие для своих страниц , Мне удается создать журнал, загружать его страницы через систему многократного скачивания благодаря второму эшафоту.

Затем я хотел ссылку на страницу журнала, чтобы выглядеть domain.net/magazines/:id/pages/:id, однако, я получаю некоторые трудности, с которыми я, кажется, не в состоянии решить сам

Вот мои журналы # показать вид :

<h4> 
    <%= @magazine.titre %> 
</h4> 

    <%= image_tag @magazine.apercu, size: '200x200' %> 

<% @magazine.pages.each do |m| %> 
    <%= link_to magazine_page_url, :id => m.id do %> <!-- Here --> 
     <%= image_tag m.image, size: '100x100' %> 
    <% end %> 

    <%= link_to m do %> 
     <%= image_tag p.image, size: '100x100' %> 
    <% end %> 

    <%= link_to 'Supprimer', m, :method => :delete, data: {confirm: 'Are you sure?'} %> 
<% end %> 

<br /> 

<%= link_to 'Edit', edit_magazine_path(@magazine) %> | 
<%= link_to 'Back', magazines_path %> 

Всякий раз, когда я пытаюсь получить эту страницу, я получаю следующее сообщение об ошибке:

ActionController :: UrlGenerationError в Magazines # шоу - нет маршрута матчей {: действие => "шоу" ,: controller => "pages", : id => "6"} отсутствуют необходимые ключи: [: magazine_id]

Как вы можете видеть, я пытаюсь создать ссылку на страницы каждого журнала для перенаправления на сами страницы, но я не могу удастся указать правильный идентификатор ссылки.

Когда я пытаюсь поставить <%= link_to m do %> вместо magazine_page_url, он ищет путь с именем 'page_path', который не существует, так как я вложил ресурсы страницы в ресурсы моих журналов.

Вот мой файл маршрута только в том случае, не стесняйтесь, если вам нужно, чтобы увидеть что-то еще

Rails.application.routes.draw do 
root to: 'home#index' 

    namespace :admin do 
    resources :carousels 
    end 
    get '/admin' => 'admin#index', as: :admin_root 

    resources :magazines do 
    resources :pages 
    end 

end 

Любая помощь приветствуется

Спасибо заранее

ответ

1

журнал Pass и страниц в URL-адресах:

<%= link_to magazine_page_url(@magazine, m) do 

Слишком вы можете сделать:

<%= link_to [@magazine, m] do 
+0

Спасибо, работал как шарм, плюс я вообще не думал об этой возможности! – Jaeger

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