新手问题 路由设置里 scope module 怎么使用

QETHAN · 2016年10月30日 · 最后由 QETHAN 回复于 2016年11月01日 · 2105 次阅读
scope :path => '/api/v1', :module => 'api_v1', :as => 'v1' do
   resources :projects
end

不太清楚怎么去组织文件夹和实例变量名称, 想知道有什么命令可以直接生成文件夹和模板代码吗? 大家开发中都是怎么做的,module 这个设置用的多吗

需要有一个文件 app/api_v1/projects_controller.rb 内容大概是这样:

module ApiV1
  class ProjectsController < ApplicationController
  ...
  end
end

补充一楼的,一般在 route 里,我会用namespace来表达 module

namespce :api_v1 do
  resources :projects 
end

但是这个会生成/api_v1/projects, 你要/api/projects估计需要用会你问题中用的module

至于直接生成文件夹和模板是不是rails g model api_v1/projects就行了?

#2 楼 @flemon1986 namespace 这个可以直接用命令 rails g scaffold namaspace::controllers

#1 楼 @bastengao 什么时候用 module, 什么时候用 namespace, 不明白有什么区别

楼上的问题有点概念混淆了,namespaceroute里的关键词,用法跟scope对应相似 module 是对象前缀的定义 两者算是同时间使用的 (是不是必须的我没深究),一般用 module 前缀定义的对象,都会用到namespace来定义对象的route

#5 楼 @flemon1986 哦。我再去看看,理解一下。感谢@all

QETHAN 关闭了讨论。 11月02日 18:48
需要 登录 后方可回复, 如果你还没有账号请 注册新账号