我有一个定义自定义attr_accessible
属性的模块,如下所示:
module MyModule
include ActiveModel::MassAssignmentSecurity
%w[var1 var2].each do |key|
attr_accessible key
end
end
class MyClass
include MyModule
end
由于attr_accessible是在ActiveModel::MassAssignmentSecurity
中定义的,因此我将其包含在MyModule
中。
但是,当我致电object = MyClass.first; object.var1
我收到以下错误:
NoMethodError: undefined method `class_attribute'
现在,此方法似乎在active_support / core_ext / class.rb中定义。但是,即使在
之后require 'active_support/core_ext/class'
我仍然收到相同的错误消息。
为了访问此方法,我应该包含哪个模块?我正在使用Rails 4,protected_attributes
gem。
Update1:添加include ActiveModel::MassAssignmentSecurity