【发布时间】:2014-12-03 19:12:40
【问题描述】:
我已经通过 ruby gem (Koala) 生成了一个对象,并且我已经编写了一些带有辅助方法的模块。为了能够在对象的模块中使用方法,我需要做什么?
如果我,model_object = Model.new,model_object 将有权访问所有实例变量,但 object 没有(见下文)。
Ruby 2.1、Rails 4.1
config/application.rb - 在文件夹中自动加载模块
config.autoload_paths << Rails.root.join('lib/module_folder')
型号
class Model < ActiveRecord::Base
include Module
include Module::Module2
include Module::Module3
def self.create_account(token)
object = Module.module_class_method(token) #this works and generates the Koala object
ERROR: object.module2_instance_method # Error: NoMethodError Exception: undefined method
end
end
模块
module Module
extend ActiveSupport::Concern
end
模块2
module Module
module Module2
def module2_instance_method
end
end
end
解决了我自己 - 问题是包含语句在类中,如果我将它们移到外面它工作。
【问题讨论】:
-
向我们展示您的尝试,以便我们提供帮助(即向我们展示代码)。
-
抱歉,添加了代码。
标签: ruby-on-rails ruby ruby-on-rails-4 koala