Ruby on rails 在rails 3.2.8中将自定义类定义放在/app下有意义吗?

Ruby on rails 在rails 3.2.8中将自定义类定义放在/app下有意义吗?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我们想在rails 3.2.8应用程序中为用户权限定义一个类。每当应用程序访问数据库时,就会调用此特权类,以确定用户是否具有访问权限。如果我们为用户特权类在/app下创建一个新的subdir,比如sys_类,这有意义吗?或者最好在/lib下创建sys_类,并包括config.autoload_路径+=%W(#{config.root}/lib/sys_类)在application.rb中。在CanCan中,该类被命名为Ability,并在app/models中创建 在CanCan中,该类被命名为

我们想在rails 3.2.8应用程序中为用户权限定义一个类。每当应用程序访问数据库时,就会调用此特权类,以确定用户是否具有访问权限。如果我们为用户特权类在
/app
下创建一个新的subdir,比如sys_类,这有意义吗?或者最好在
/lib
下创建sys_类,并包括
config.autoload_路径+=%W(#{config.root}/lib/sys_类)
在application.rb中。

在CanCan中,该类被命名为Ability,并在app/models中创建


在CanCan中,该类被命名为Ability,并在app/models中创建


进一步介绍Fernando的答案-允许哪些用户在您的应用程序中做什么是业务逻辑的一部分,这意味着它实际上是您模型的一部分。因此,课程应该放在
app/models
下。如果出于某种原因希望将其与其他模型对象分开,可以将其放在该对象的子目录中


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

进一步介绍Fernando的答案-允许哪些用户在应用程序中做业务逻辑的一部分,这意味着它实际上是您模型的一部分。因此,课程应该放在
app/models
下。如果出于某种原因希望将其与其他模型对象分开,可以将其放在该对象的子目录中


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

我会将其放在lib中,我不会因此而将app dir弄乱我会将其放在lib中,我不会因此而将app dir弄乱