从 /lib 调用 class 到 rabl

Call class from /lib into rabl

我的 "rails app" /lib 目录中有一个名为 "Person" 的 class。

module Backend
  class Person
    attr_accessor :id

    def initialize(attr = {})
         :
    end

    def some_method
      :
    end
  end
end

问题是如何在我的 rabl 文件中调用这个 class?是否可以在我的 rabl 文件中调用它?我试过了:

require 'backend/person'
object @person
   :
   :
   :
node(:my_element) { |person| Backend::Person.new(id: person.id).some_method }

但这对我不起作用。

您可以尝试以下方式自动加载它,然后在 rabl 视图

中访问 your own Backend::Person
config/application.rb: 

里面

# Custom directories with classes and modules you want to be autoloadable.
config.autoload_paths << Rails.root.join('lib')

您可以在此处获得更多信息Rails autoloading