1

私はdeviseを使用しており、deviseusersthの下に次のような新しいオブジェクトスキャフォールドを生成したいと思います。

 resources :users, :path => "/", :only => [:show] do
   resources :collections, :controller => 'users/collections'
 end

上記のルートで、私はこのURLを取得します:

http://localhost:3000/kevin_doe/collections

問題は、このコマンドを発行すると次のようになることです。

rails g scaffold users/collection title:string description:text

これにより、次のような名前空間が生成されます。

namespace :users do resources :collections end

私が得るルートは次のとおりです。

http://localhost:3000/users/collections

deviseユーザーリソースの下にスキャフォールドを生成したい。

この問題を解決するにはどうすればよいですか?

ありがとうございました!

4

1 に答える 1

1

この質問の修正は、次のステップです。

1º 以下を使用して足場を生成します。

rails g scaffold collection title:string description:text

2º ネストされたリソースを使用して、routes.rb ファイルを変更します。

resources :users, :path => "/", :only => [:show] do
   resources :collections, :controller => 'users/collections'
 end

"users" foldercontrollers ディレクトリに を作成し、に移動するcollections_controller.rb必要があります。

app/controllers/users/

collections_controller.rb変更する必要があります:

class Users::CollectionsController < ApplicationController
.
.
.
end

5º ビューで、フォルダーcollectionsを次の場所に移動する必要があります。app/views/users/collections

終わり!:D。

于 2012-06-05T14:24:38.943 に答える