0

こんにちは、ネストされたリソースを使用するのはこれが初めてです。new_user_album_pathrake routesへのパスを見つけましたが、機能していないようです。問題は、私が二重の巣を作ったからでしょうか?

問題は特に、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
4

1 に答える 1

1

次のように、ユーザーをrouteメソッドに渡す必要があります。

new_user_album_path(@user)
于 2012-09-28T00:56:51.420 に答える