![](/img/trans.png)
[英]how to access attr_accessor in rails model using `attribute_names` method
[英]How to retrieve 'attr_accessor' attribute names?
我在 Rails 3.0.9 上使用 Ruby,我想檢索以特定字符串開頭的所有attr_accessor
屬性名稱。 那是,
...在我的模塊中,我有:
attr_accessor :prefix_attribute_name1,
:prefix_attribute_name2,
:prefix_attribute_name3,
...
:attribute_name1,
:attribute_name2,
...
我想檢索所有以:prefix
字符串開頭的attr_accessor
屬性名稱。 我怎樣才能做到這一點?
通常, attr_accessor
只是創建訪問器方法,並且沒有任何特定的鈎子用於這樣的反射。 如果您需要這樣的東西,您可以編寫一個使用alias_method_chain
包裹attr_accessor
的擴展,或者您可以這樣做:
(MyClass.instance_methods - Object.instance_methods).grep(/^prefix/).sort
您可以使用 YourClass.instance_methods.select{|i| 獲取它 i.to_s =~ /prefix_/}。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.