1

目前,我正在开发 RoR 的博客引擎,但遇到了严重的路由问题。routes.rb看起来像这样:

match '/admin', :to => 'posts#new'
match '/get/:id', :to => 'posts#get'
match '/new', :to => 'posts#new'
delete '/:id', :to => 'posts#destroy'
post '/edit/:id', :to => 'posts#update'
put '/edit/:id', :to => 'posts#update'
get '/edit/:id', :to => 'posts#new', :as => 'post'
get '/:slug', :to => 'posts#show', :as => 'post'
root :to => 'posts#index'

我想将其转换为:

resources :admin do
  resources :posts
end

任何帮助将不胜感激。

4

1 回答 1

1

需要更多信息。您想在管理资源中放置什么?只发帖,还是编辑?

但是有一些入门技巧: - 您必须拆分您的帖子控制器。在控制器中创建一个名为 admin(资源名称)的子文件夹。将管理功能移动到此控制器,并将公共帖子功能(索引和显示)留在普通的帖子控制器中。- 对视图执行相同的操作。

而且,我怀疑您希望路线是:

namespace :admin
  resources :posts
end

get '/:id', :to => 'posts#show'

root :to => 'posts#index'

然后,您可以将某种形式的身份验证放入 admin 命名空间。

希望这对您有所帮助。

于 2012-08-13T12:14:04.940 回答