Ruby on rails 在rails 3.2中的Desive user下生成脚手架
我使用Desive,我想在Desive用户下生成一个新的对象脚手架,例如:Ruby on rails 在rails 3.2中的Desive user下生成脚手架,ruby-on-rails,ruby-on-rails-3,devise,scaffolding,Ruby On Rails,Ruby On Rails 3,Devise,Scaffolding,我使用Desive,我想在Desive用户下生成一个新的对象脚手架,例如: resources :users, :path => "/", :only => [:show] do resources :collections, :controller => 'users/collections' end namespace :users do resources :collections end 通过以上路线,我得到以下url: http://localhost:
resources :users, :path => "/", :only => [:show] do
resources :collections, :controller => 'users/collections'
end
namespace :users do resources :collections end
通过以上路线,我得到以下url:
http://localhost:3000/kevin_doe/collections
问题是,如果我发出此命令:
rails g scaffold users/collection title:string description:text
这将生成一个名称空间,例如:
resources :users, :path => "/", :only => [:show] do
resources :collections, :controller => 'users/collections'
end
namespace :users do resources :collections end
我得到的路线是:
http://localhost:3000/users/collections
我想在“设计用户资源”下生成一个脚手架。
如何解决此问题?
谢谢大家! 此问题的解决方法是以下步骤: 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º您必须在控制器目录中创建一个“用户”文件夹
,并将集合_controller.rb
移动到
app/controllers/users/
4º在collections\u controller.rb
中,您必须修改:
class Users::CollectionsController < ApplicationController
.
.
.
end
class用户::CollectionsController
5º在视图中,必须将文件夹集合
移动到应用程序/视图/用户/集合
完成了!:D.解决此问题的方法是以下步骤: 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º您必须在控制器目录中创建一个“用户”文件夹
,并将集合_controller.rb
移动到
app/controllers/users/
4º在collections\u controller.rb
中,您必须修改:
class Users::CollectionsController < ApplicationController
.
.
.
end
class用户::CollectionsController
5º在视图中,必须将文件夹集合
移动到应用程序/视图/用户/集合
完成了!:D.你不需要做任何特别的事情。生成脚手架,然后修改路由和控制器操作以反映嵌套资源。您不需要执行任何特殊操作。生成脚手架,然后修改路由和控制器操作以反映嵌套资源。