【发布时间】:2008-11-11 23:59:25
【问题描述】:
如何在 Merb 中使用命名空间控制器,例如为站点创建一个管理部分?在 Rails 中会使用 Admin::CategoriesController,这在 Merb 中是否类似,或者这是另一种推荐的方式?
【问题讨论】:
如何在 Merb 中使用命名空间控制器,例如为站点创建一个管理部分?在 Rails 中会使用 Admin::CategoriesController,这在 Merb 中是否类似,或者这是另一种推荐的方式?
【问题讨论】:
命名空间方法似乎可以做到。
这是放在路由文件(router.rb)中的:
namespace :admin do
resources :categories
end
这会生成如下路线:
edit_admin_category - /admin/categories/:id/edit(.:format) delete_admin_category - /admin/categories/:id/delete(.:format) admin_categories - /admin/categories(/index)(.:format) new_admin_category - /admin/categories/new(.:format) admin_category - /admin/categories/:id(.:format)然后我将我的控制器放在这样的模块中:
module Admin
class Categories < Application
def index
...
end
.
.
.
end
end
我不确定这是否是推荐的方式,任何建议都会很棒。
【讨论】:
上面的答案是正确的,但是对于它的价值,我很难尝试在我的观点中使用带有 link_to 的新路线。
我最终得到了这个工作:
<%= link_to("Categories Admin", resource(:admin, :categories) %>
【讨论】: