我正在与一个较旧的数据库交互,并使用alias_attribute将旧的列名Map到新的列名。它工作得很好,但是我也想得到一个记录的所有属性的列表。使用record.attributes只给了我原始属性,而不是别名。有没有一种方法可以通过类似的方法列出所有这些属性?也许我最好只做一个查找哈希?先谢谢你了!
alias_attribute
record.attributes
m1m5dgzv1#
恐怕不可能得到别名属性的列表。alias_attribute方法除了创建几个getter/setter之外什么也不做。这个方法没有以任何方式“标记”这些方法。
iyzzxitl2#
从Rails5.0.7.2或更早版本开始:
ModelClass.alias_attribute :new_name, :old_name #=> [a heap of ActiveModel::AttributeMethods::ClassMethods::AttributeMethodMatchers] ModelClass.attribute_aliases #=> {"new_name"=>"old_name"} ModelClass.attribute_alias(:new_name) #=> "old_name"
2条答案
按热度按时间m1m5dgzv1#
恐怕不可能得到别名属性的列表。
alias_attribute
方法除了创建几个getter/setter之外什么也不做。这个方法没有以任何方式“标记”这些方法。iyzzxitl2#
从Rails5.0.7.2或更早版本开始: