【问题标题】:Pros & Cons of separating the controllers using subfolders on an ruby on rails app based?在基于 ruby​​ on rails 应用程序上使用子文件夹分离控制器的优缺点?
【发布时间】:2010-03-13 23:16:02
【问题描述】:

需要一些帮助来收集有关此问题的想法。

我们的团队正在推进这样一个想法,即将我们应用的经过身份验证的部分和公共部分分开放在两个单独的文件夹中,这将使我们更有条理和更安全。 我在站点内的管理应用程序中看到过这种方法,但从未用于身份验证。

我们目前正在使用 Authlogic。

这样做有什么缺点?

感谢您的帮助。

【问题讨论】:

  • 更新:我们发现命名空间会使事情变得相当复杂。始终确保了解命名空间的范围,因为资源将在每个命名空间中重复。我们结束了命名空间,因为有更好的方法来处理授权。

标签: ruby-on-rails ruby authentication controller authlogic


【解决方案1】:

我认为将控制器移动到子文件夹中不会有任何缺点。我们实际上是通过“命名空间”/进程来做到这一点的。例如,我们有一个“订单”子文件夹,其中包含与订单相关的所有控制器。

我认为在 Rails 应用程序目录中拥有一个干净的文件夹结构可以提高可维护性。

【讨论】:

  • 嗨 rubii,很高兴知道这是由其他公司完成的。谢谢!
  • 子文件夹似乎没问题,但不要命名空间控制器。你会让自己陷入各种问题。从缓存开始。
【解决方案2】:

我们以这种方式命名控制器 - 通常我们会有一个 /admin 和一个 /my 文件夹分别用于管理员和用户帐户控制器。

此外,在子文件夹中,我们将有一个 application_controller.rb,该子文件夹中的每个控制器都派生自该文件。所以在 admin 子文件夹中,我们有一个如下所示的 application_controller.rb:

class Admin::AdminController < ApplicationController
  permit "admin"
  layout 'admin'
end

然后我们将在我们的管理控制器中从这个控制器继承。该示例使用 rails-authorization-plugin 作为角色。

【讨论】:

    猜你喜欢
    • 2018-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    • 2011-08-15
    • 1970-01-01
    相关资源
    最近更新 更多