Rails 3 autoload

后端 未结 4 1679
面向向阳花
面向向阳花 2020-12-01 09:45

I have a class ConstData:

class ConstData

  US_CITIES = [\'miami\', \'new york\']

  EUROPERN_CITIES = [\'madrid\', \'london\']

end

Its s

4条回答
  •  独厮守ぢ
    2020-12-01 10:26

    The reason autoload_paths didn't work for you and you were forced to do:

    Dir["lib/**/*.rb"].each do |path|
      require_dependency path
    end
    

    is because you forgot to namespace your class.

    lib/awesome/stuffs.rb should contain a class/module like this:

    class/module Awesome::Stuffs
    ....
    

    but you had:

    class/module Stuffs
    ....
    

    Rails can only autoload classes and modules whose name matches it's file path and file name.

    :)

提交回复
热议问题