3

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'

それでも同じエラー メッセージが表示されます。

このメソッドにアクセスするには、どのモジュールを含める必要がありますか? 私はprotected_attributesGemでRails 4を使用しています。

Update1: 追加include ActiveModel::MassAssignmentSecurity

4

0 に答える 0