Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在rails 3.2中的Desive user下生成脚手架_Ruby On Rails_Ruby On Rails 3_Devise_Scaffolding - Fatal编程技术网

Ruby on rails 在rails 3.2中的Desive user下生成脚手架

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:

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

 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.

你不需要做任何特别的事情。生成脚手架,然后修改路由和控制器操作以反映嵌套资源。您不需要执行任何特殊操作。生成脚手架,然后修改路由和控制器操作以反映嵌套资源。