我们有一个站点,我们有一个后端管理界面,和一个前端显示我们的信息。我们正在使用设计来确保身份验证。
后端应该允许正常的CRUD类型编辑我们的模型对象。景观和布局也与正面完全不同。在Rails 3中实现这一点的最佳实践是什么?
我们的两种做法是:
这是更多的建议,或者如果我们错过了另一个方法,请告诉我。
发布于 2011-09-16 08:43:31
第一个解决方案更好,但是对于这些情况,创建了namespaces,最佳实践是在需要对用户站点和管理区域进行相关区分时使用名称空间。了解更多关于it的信息,这里
目录结构应该如下所示:
controllers/
|--admin/
|--posts_controller.rb在您的路由中,您将所需的所有内容放入管理命名空间:
namespace :admin do
resources :posts, :comments
end您的控制器应该有一个admin文件夹,管理区域中的控制器看起来如下所示:
class Admin::PostsController < ApplicationController
end您还应该在视图中包含一个admin文件夹,在该文件夹中放置相应的视图:
views/
|--admin/
|--posts/
|--index.html.erb
|--...您也可以命名您的模型,但这取决于您的需要,它是好的,当您需要有不同的模型具有相同的名称。例如,如果管理用户需要不同的表,普通用户需要不同的表。就我个人而言,我不会使用模型名称空间,只是在非常合理的情况下。
第二个选择,我认为会引起很多头痛,你会迷失在if声明中,我不建议你这么做。
https://stackoverflow.com/questions/7441939
复制相似问题