Rails加载具有非常规文件夹名称的类

时间:2014-01-31 20:23:52

标签: ruby-on-rails naming-conventions

我有一个我想调用OAuth的模块和一个名为AccessToken的类。通常在rails中我想把它放在app/models/o_auth/access_token.rb中。如何从路径app/models/oauth/access_token.rb

加载它

3 个答案:

答案 0 :(得分:0)

require 'app/models/o_auth/access_token'的顶部添加application.rb,并在使用它的任何其他模型的顶部添加{{1}}。这是你必须为每个模型做的事情,没有RoR的“约定优于配置”理想,以及它的神奇进口商。

答案 1 :(得分:0)

将这些行添加到config/application.rb

# Load Subfolder Models
config.autoload_paths += Dir[Rails.root.join('app', 'models', '{**}')]

答案 2 :(得分:0)

我认为我的问题太微妙了。我问的是如何从特定路径加载我的类,而不是如何将路径添加到自动加载路径。我的问题是因为我的OAuth类以两个大写字母开头,因此rails需要o_auth的路径,就像你可以将它作为符号引用一样。因为要将oauth的符号引用指向OAuth类,所以必须要做的就是,最好只命名文件夹o_auth而不是oauth。