0
嗨,這是我第一次使用嵌套資源。我做了rake routes
並找到了一條到new_user_album_path的路徑,但它似乎不起作用。問題可能是因爲我做了一個雙窩?Rails中嵌套資源沒有路由錯誤
問題是我點擊了名爲show.html.erb的用戶視圖文件中的鏈接。試圖鏈接到 「創建相冊」 的頁面,但那個時候,它讓我看到了一個錯誤:
No route matches {:action=>"new", :controller=>"albums"}
這裏是我的文件:
show.html.erb
<% provide(:title, "Welcome, #{@user.name}!") %>
<div>
You currently have <%= pluralize(@user.albums.count, "album") %>
</div>
<div>
<%= link_to "Create a new album!", new_user_album_path %>
</div>
<div>
<% if @user.albums.any? %>
hey
<% else %>
boo
<% end %>
</div>
<%= link_to "Back", users_path %>
配置/路線
Pholder::Application.routes.draw do
resources :users do
resources :albums do
resources :pictures
end
end
控制器
class AlbumsController < ApplicationController
def index
@albums = Albums.all
respond_to do |format|
format.html
format.json { render json: @albums }
end
end
def new
@user = User.find(params[:user_id])
end
end
感謝!該死的比我想象的要容易 – Edmund
常見錯誤。路由錯誤是你必須學會解密的事情之一,因爲它們具有多態性。在這種情況下,傳遞未定義的變量會導致查找不同的,不存在的路徑。 – numbers1311407