2016-12-03 137 views
0

對於個人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 

歡迎任何幫助

預先感謝您

回答

1

通雜誌頁面實例轉換爲url參數:

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

您也可以:

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

謝謝你,工作就像一個魅力,加上我根本沒有想到這個可能性! – Jaeger