如何检索'attr_accessor'属性名称?

Bac*_*cko 2 ruby attributes ruby-on-rails attr-accessor ruby-on-rails-3

我正在使用Ruby on Rails 3.0.9,我想检索attr_accessor以特定字符串开头的所有属性名称.那是,

...在我的模块中我有:

attr_accessor :prefix_attribute_name1,
              :prefix_attribute_name2,
              :prefix_attribute_name3,
              ...
              :attribute_name1,
              :attribute_name2,
              ...
Run Code Online (Sandbox Code Playgroud)

我想检索所有attr_accessor与该启动属性名称:prefix的字符串. 我怎样才能做到这一点?

tad*_*man 5

通常,attr_accessor只创建访问器方法,并且没有任何特定的反射钩子.如果你需要这样的东西,你既可以写环绕的延伸attr_accessoralias_method_chain或者你可以凑合着这一点:

(MyClass.instance_methods - Object.instance_methods).grep(/^prefix/).sort
Run Code Online (Sandbox Code Playgroud)