這裏是我真的很想做的事:Squeel評估字符串作爲一個的keyPath加入
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}
這可以被傳遞到連接squeel功能。我敢肯定,必須有比來構造嵌套符號:(
謝謝!完美的作品......我在文檔中查看了幾次,但我沒有連接,我可以將它傳遞到構造中或者像那樣。在某些領域,我仍然是一位Ruby n00b,但PHP會爲您做到這一點! – barancw 2012-07-25 05:07:15
有一個缺點,它不能與外部/內部鏈接,如'Outage.joins {Squeel :: Nodes :: KeyPath.new(「unit.plant」.split(「。」))。inner} – raymondralibi 2012-08-07 17:16:07