Pour la vie de moi, je n'arrive pas à comprendre comment procéder. J'ai un modèle pour lequel la valeur stockée est un chemin d'accès à une ressource sur le système de fichiers. Je voudrais que le modèle écrive et récupère la ressource à partir du système de fichiers, donc je veux naturellement contourner le getter et les setters pour le faire. Comment puis-je obtenir la valeur sous-jacente dans la base de données?Substitution d'un attribut dans Rails et obtention de la valeur sous-jacente
class MyModel < ActiveRecord::Base
require 'fileutils'
def myThing=(val)
handle = File.open(_____, 'w')
handle.write(val)
end
end
Que se passe-t-il où les traits de soulignement sont? J'ai vu 'write_attribute' utilisé pour faire cela, mais il semble être obsolète. Des idées? Idem pour le getter, bien sûr.
En outre, si j'aboie le mauvais arbre concernant le dépassement, j'aimerais entendre la meilleure technique. La seule chose qui n'est pas une option est de stocker la valeur directement dans la base de données.
Merci!
OP, ici. Bien que cette réponse n'ait pas fonctionné pour ma version de Rails, elle m'a mis sur la bonne voie. self ["myThing"] semble avoir fonctionné! – Mike