将自定义类定义放在rails 3.2.8中的/ app下是否有意义?

时间:2012-10-07 20:36:56

标签: ruby-on-rails ruby-on-rails-3

我们想在rails 3.2.8 app中为用户权限定义一个类。只要应用程序访问数据库以确定用户是否具有访问权限,就会调用此权限类。如果我们在/app下为用户权限类创建一个新的子目录,例如sys_class,它是否有意义?或者最好在/lib下创建sys_class并在application.rb中包含config.autoload_paths += %W(#{config.root}/lib/sys_class)

2 个答案:

答案 0 :(得分:2)

扩展Fernando的答案 - 允许用户在您的应用程序中执行的操作是业务逻辑的一部分,这意味着它确实是您模型的一部分。所以课程应该在app/models之下的某个地方。如果由于某种原因要将其与其他模型对象分开,可以将其放在该子目录中。

应用程序中的模型对象不必直接映射到数据库表。

答案 1 :(得分:1)

在CanCan中,此类名为Ability,在app / models

中创建

https://github.com/ryanb/cancan/#1-define-abilities