-1

私は以前にUser/Show Pageこれらの手順を実行して作成しました:

ルート:

# User Profile
  get "users/show"
  get 'user/:id' => 'users#show', as: :user

そして私のusers_controllerで:

def show
  @user = User.find_by_user_name(params[:id])  # For Name instead of ID
end

今、私Albums Scaffoldは同じことをしたいと思っていました:

ルート:

# User Albums
  get "users/albums"
  get 'user/:id/albums' => 'users#albums'

私のusers_controllerに追加されました:

def albums
  @user = User.find_by_user_name(params[:id])  # For Name instead of ID
  @albums = @user.albums
end

レーキルートでは、次のようになります

          users_show GET      /users/show(.:format)            users#show
                user GET      /user/:id(.:format)              users#show
        users_albums GET      /users/albums(.:format)          users#albums
                     GET      /user/:id/albums(.:format)       users#albums

何よりもまず、これは良い習慣でもありますか?、第二に、機能していません:)

私が直接アクセスしようとすると:

http://localhost:3000/user/username/albums

できます。

4

3 に答える 3

0

これは良い習慣ではありません。リソースの方が優れています。

Album もリソースなので、ネストされたリソースを使用できます。

resources :user do
  resources :albums
end
于 2013-09-20T20:01:55.373 に答える