我正在使用Ruby on Rails 3.0.9,我想从特定字符串开始检索所有attr_accessor
属性名称。也就是说,
...在我的模块中我有:
attr_accessor :prefix_attribute_name1,
:prefix_attribute_name2,
:prefix_attribute_name3,
...
:attribute_name1,
:attribute_name2,
...
和我想检索以attr_accessor
字符串开头的所有:prefix
属性名称。 我该怎么做?
答案 0 :(得分:5)
通常,attr_accessor
只创建访问器方法,并且没有任何特定的反射钩子。如果你需要这样的东西,你可以写一个用attr_accessor
包围alias_method_chain
的扩展名,或者你可以用它来做:
(MyClass.instance_methods - Object.instance_methods).grep(/^prefix/).sort
答案 1 :(得分:0)
您可以使用YourClass.instance_methods.select {| i |获取它i.to_s =〜/ prefix _ /}。