これが私が本当にやりたいことです:
Outage.joins{eval "unit.plant"}
squeel keypathを表す文字列を用意します。この文字列を結合ステートメントに送信したいと思います。
しかし、ここに私がエラーとして得るものがあります:
#<Class:0x639e328>: unknown class: Squeel::Nodes::Function
私はもう試した:
Outage.joins{"unit.plant"}
しかし、それはうまくいきません...何が欠けていますか?
github ページにこれに関するドキュメントはありません: https://github.com/ernie/squeel/
助けてくれてありがとう!
更新:
これをやってのける本当に紛らわしい方法を見つけました:
("unit.plant".split ".").map{ |x| x.to_sym }.reverse.inject{ |acc, x| { x => acc } }
これは出力されます:
{:unit=>:plant}
これは、joins squeel 関数に渡すことができます。ネストされたシンボルを構築するよりも良い方法があるに違いないと確信しています:(