【发布时间】:2018-03-25 20:51:07
【问题描述】:
我有这个模块,它被包含在一个类中:
module MyModule
def self.included base
base.extend ClassMethods
end
module ClassMethods
def my_module_method data
include MyModule::InstanceMethods
after_save :my_module_process
attr_accessor :shared_data
shared_data = data
# instance_variable_set :@shared_data, data
end
end
module InstanceMethods
private
def my_module_process
raise self.shared_data.inspect
# raise instance_variable_get(:@shared_data).inspect
end
end
end
我想在my_module_process 中使用传递给my_module_method 的data(参数)。我使用了attr_accessor 以及实例变量,但它们中的任何一个都返回nil。
【问题讨论】:
-
在将逻辑提取到模块中之前,您认为是否值得先在课堂上做?在你开始包含和扩展之前,我认为退后一步并在课程的上下文中查看这些内容是明智的。截至目前,它必须说明您想要实现的目标。
标签: ruby-on-rails ruby instance-variables attr-accessor