1

我使用设计,我想在设计用户下生成一个新的对象脚手架,例如:

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

通过上述路线,我得到了这个网址:

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

我想在设计用户资源下生成一个脚手架。

我该如何解决这个问题?

谢谢!

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" folder3º您必须在您的控制器目录中创建一个并将其移动collections_controller.rb

app/controllers/users/

4º中collections_controller.rb你必须修改:

class Users::CollectionsController < ApplicationController
.
.
.
end

5º 在您的视图中,您必须将文件夹移动collectionsapp/views/users/collections

完毕!:D。

于 2012-06-05T14:24:38.943 回答