Je voudrais créer un attribut virtuel qui sera toujours inclus lorsque vous faites model_instance.inspect. Je comprends que attr_reader me donnera la même chose que la définition d'une méthode d'instance, mais j'aimerais que cet attribut fasse partie de la composition de l'objetComment créer des attributs virtuels en lecture seule dans les modèles Ruby
Comment puis-je accomplir cela?
Merci!
MISE À JOUR
Voici ce qui ne fonctionne plus en détail:
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>
Comme vous pouvez le voir, quand j'utiliser la console, il retourne pas d'attribut "less_secure_asset_url"
@bill brasky, joli nom d'utilisateur :) –
@macek haha merci :) –
Question n'est pas claire. Le remplacement de "# inspect" est-il correct? Est-ce que 'attributes' renvoie cette valeur, etc ... Qu'essayez-vous d'accomplir? –