我使用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
我想在设计用户资源下生成一个脚手架。
如何解决此问题?
谢谢!
答案 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