2009-05-08 3 views
0

私の人生にとって、私はこれを行う方法を理解できません。私は、格納された値がファイルシステム上のリソースへのパスであるモデルを持っています。私は、モデルがファイルシステムからリソースを書き出してフェッチするようにしたいので、自然にゲッターとセッターをオーバーライドしてこれを行う必要があります。どのようにすれば、データベースにある基礎となる価値を得ることができますか?Railsの属性をオーバーライドし、基になる値で取得する

class MyModel < ActiveRecord::Base 
    require 'fileutils' 
    def myThing=(val) 
    handle = File.open(_____, 'w') 
    handle.write(val) 
    end 
end 

アンダースコアはどこにありますか?私はこれを行うために使用される 'write_attribute'を見たことがありますが、非推奨になります。何か案は?もちろん、ゲッターのための同上。

また、私が上書きに関する間違ったツリーを鳴らしているなら、私はより良いテクニックを聴きたいです。オプションではない唯一のものは、dbに値を直接格納することです。

ありがとうございます!これはそれを行う必要があります

答えて

1

:(あなたがしなければならない場合、またはmyThingPath)

handle = File.open(attributes["myThing"]) 

を私はしかし、 "my_thing_path" に列を名前変更を考えると思います。

+2

OPです。この回答は私のバージョンのRailsではうまくいかなかったが、それは正しい軌道に乗った。自己["myThing"]はうまくいったようです! – Mike

関連する問題