Я хочу создать динамическое состояние. Это будет выглядеть какСимвол динамического условия в «if»
Model.send("attr_name") > 0 ? true : false
Но как я могу написать символ «>» динамически?
Я хочу создать динамическое состояние. Это будет выглядеть какСимвол динамического условия в «if»
Model.send("attr_name") > 0 ? true : false
Но как я могу написать символ «>» динамически?
я не совсем понимаю, что ваш вопрос, но это может быть ответ:
1.9.3p194 :004 > s = "<"
=> "<"
1.9.3p194 :005 > 0.send :"#{s}", 1
=> true
Вам не нужен тройной оператор ? :
. Его можно просто написать по адресу:
Model.send("attr_name").send(condition,0)
Этот ответ не подходит к вопросу. – pje
Упс .. исправил его :) – ShadyKiller
Если условие исходит от пользователя, убедитесь, что он имеет белый список, что они могут делать, иначе они смогут запускать произвольные методы для ваших объектов. –
@AndrewMarshall они будут в избранных тегах, но спасибо :). – AKovtunov
Ваш '? true: false' является избыточным. – sawa