我想创建一个虚拟属性,当您执行 model_instance.inspect 时将始终包含该属性。我知道 attr_reader 会给我与定义实例方法相同的东西,但我希望这个属性成为对象“组成”的一部分
我怎样才能做到这一点?
谢谢!
更新
以下是没有更详细的工作:
class Product < ActiveRecord::Base
attr_reader :less_secure_asset_url
def less_secure_asset_url
self.asset.url
end
end
>> p = Product.find(:all)[1]
=> #<Product id: 49, asset_file_name: "Etrade_Trade_Conf_Request.docx", asset_content_type: "application/vnd.openxmlformats-officedocument.wordp...", asset_file_size: 38152, asset_updated_at: "2010-05-04 17:45:46", created_at: "2010-05-04 17:45:46", updated_at: "2010-05-04 17:45:46", owner_id: 345, product_type_id: 1>
如您所见,当我使用控制台时,它不返回“less_secure_asset_url”属性