これはちょっとばかげたもので、ルビーやレール特有のものよりもプログラミング知識が不足しています。自分自身をハッシュするアクティブなレコード
普通のクラスをハッシュに変えたいのであれば、それほど悪くはありません。私はすでに1つを持っています:
class CustomRequest
require 'json'
require 'net/http'
attr_accessor :url, :depth, :status
def initialize(url,depth)
@url = url
@depth = depth
end
def make_me_hash_and_send
@myReq = {:url => @url, :depth =>@depth}
myJsonReq = @myReq
puts myJsonReq
res = Net::HTTP.post_form(URI.parse('http://127.0.0.1:3008/user_requests/add.json'),
myJsonReq)
end
end
コンストラクタで渡される内部変数から単純にハッシュを生成します。私は積極的なレコードのために同じことをしたいが、それの抽象性はそれを容易にしていない。
は、私はこの間違った方法を見てすることができる、このクラス
def turn_my_insides_to_hash
#How do I take the actual record variables
# nd generate a hash from them.
#Is it something like
@myHash = {:myString = self.myString
:myInt => self.myInt }
end
を考えてみましょう。私は知っているクラスの外で私は簡単に言うことができる
@x = Result.find(passed_id).to_hash
私はそれにしたい。しかし、私はむしろちょうど内部クラスからのハッシュに変数を有効にする方法を知っておく必要があり、何かのliks(ハッシュに結果の変数をオンにし、それらを送信します)
@x = Result.send
私はすでに送信部分を持っている を呼び出します。
@myHash = self :: attributes YAML :: dump(@myHash) – overtone
最初の人が正しいとマークします。私は各パラメータを参照していて、属性が存在していても認識していませんでした。 – overtone