论坛首页 Ruby版 rails

Rest Url 后台和前台的路径怎样写

浏览 670 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2007-12-06
刚学习RoR,试着,这个REST的路径搞了好半天都不能实现。

我想分目录
后台是的目录/admin/articles
对应的是map.resources :articles, :path_prefix => 'admin'

那便会有其对应的控制器、模板等都在相应的 /admin 目录下

问题来了。

我前台该怎样调用啊。这个路径该怎么些啊
   
时间:2007-12-06
自己顶一个。问题可能很简单?!

我想这样在后台操作 http://localhost:3000/admin/articles
那routes.rb 可能就是这样的了 map.resources :articles, :path_prefix => 'admin'

这样 后台与之相关的试图/admin/articles和控制器都在 /admin目录下了

前台我想这样的路径 http://localhost:3000/articles
试图在 /articles和控制器都在 /目录下了
那 routes.rb 该怎么写啊。


主要是 前台和后台的模板不一样。恐怕的分目录写吧?!
   
0 请登录后投票
时间:2007-12-06
shouwei2008 写道
自己顶一个。问题可能很简单?!

我想这样在后台操作 http://localhost:3000/admin/articles
那routes.rb 可能就是这样的了 map.resources :articles, :path_prefix => 'admin'

这样 后台与之相关的试图/admin/articles和控制器都在 /admin目录下了


namespace

map.namespace(:admin) do |admin|
  admin.resources :articles
end  
   
0 请登录后投票
时间:2007-12-06
xxj 写道
shouwei2008 写道
自己顶一个。问题可能很简单?!

我想这样在后台操作 http://localhost:3000/admin/articles
那routes.rb 可能就是这样的了 map.resources :articles, :path_prefix => 'admin'

这样 后台与之相关的试图/admin/articles和控制器都在 /admin目录下了


Edge Rails 新增了 namespace

map.namespace(:admin) do |admin|
  admin.resources :articles
end  
才疏学浅啊。还是不明白了。服了。
   
0 请登录后投票
时间:2007-12-06
shouwei2008 写道
xxj 写道
shouwei2008 写道
自己顶一个。问题可能很简单?!

我想这样在后台操作 http://localhost:3000/admin/articles
那routes.rb 可能就是这样的了 map.resources :articles, :path_prefix => 'admin'

这样 后台与之相关的试图/admin/articles和控制器都在 /admin目录下了


Edge Rails 新增了 namespace

map.namespace(:admin) do |admin|
  admin.resources :articles
end  
才疏学浅啊。还是不明白了。服了。
发现了。

按照现在的Rails 1.2.X 就不能分目录。

map.resources :articles

对于资源 :articles 只有换个名字(譬如 :adminarticles)才能把前台和后台的分开
   
0 请登录后投票
时间:2007-12-07
app/controllers/articles_controller.rb
class ArticlesController < ApplicationController
  ...
end

app/controllers/admin_controller.rb
class AdminController < ApplicationController
  ...
end

app/controllers/admin/articles_controller.rb
class Admin::ArticlesController < AdminController
  ...
end

config/routes.rb
map.resources :articles, :path_prefix => 'admin', :name_prefix => 'admin_', :controller => 'admin/articles'
map.resources :articles
   
0 请登录后投票
时间:2007-12-07
seairy 写道
app/controllers/articles_controller.rb
class ArticlesController < ApplicationController
  ...
end

app/controllers/admin_controller.rb
class AdminController < ApplicationController
  ...
end

app/controllers/admin/articles_controller.rb
class Admin::ArticlesController < AdminController
  ...
end

config/routes.rb
map.resources :articles, :path_prefix => 'admin', :name_prefix => 'admin_', :controller => 'admin/articles'
map.resources :articles

同一资源定义两次
呵呵....
还是用Namespace吧
   
0 请登录后投票
论坛首页 Ruby版 rails

跳转论坛:
JavaEye推荐