在rails 3.2中的设计用户下生成脚手架

时间:2012-06-02 11:53:23

标签: ruby-on-rails ruby-on-rails-3 devise scaffolding

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

 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

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

如何解决此问题?

谢谢!

1 个答案:

答案 0 :(得分: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

3º您必须在控制器目录中创建"users" folder并将collections_controller.rb移至

app/controllers/users/

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

class Users::CollectionsController < ApplicationController
.
.
.
end

5º在您的观看次数中,您必须将文件夹collections移至app/views/users/collections

完成! :d