不能通过ID嵌套航线

不能通过ID嵌套航线

问题描述:

对于个人achievment,我试图创建一个在线杂志,让人们看了一些新闻不能通过ID嵌套航线

我创建了两个支架,一个是漫画,另一个用于其页面。由于第二个脚手架,我设法创建了杂志,通过多上传系统上传了它的页面。

然后,我想要的链接,一本杂志的页面看起来像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在杂志#秀 - 无路由匹配{:动作=> “秀” ,:controller =>“pages”, :id =>“6”}缺少必需的键:[:magazine_id]

正如你所看到的,我试图创建一个围绕每个杂志页面的链接来重定向到页面本身,但是我不能设法给链接一个适当的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 

欢迎任何帮助

预先感谢您

通杂志页面实例转换为url参数:

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

您也可以:

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

谢谢你,工作就像一个魅力,加上我根本没有想到这个可能性! – Jaeger