2012-11-03 8 views
1

Я хочу создать динамическое состояние. Это будет выглядеть какСимвол динамического условия в «if»

Model.send("attr_name") > 0 ? true : false 

Но как я могу написать символ «>» динамически?

+2

Если условие исходит от пользователя, убедитесь, что он имеет белый список, что они могут делать, иначе они смогут запускать произвольные методы для ваших объектов. –

+0

@AndrewMarshall они будут в избранных тегах, но спасибо :). – AKovtunov

+0

Ваш '? true: false' является избыточным. – sawa

ответ

2

я не совсем понимаю, что ваш вопрос, но это может быть ответ:

1.9.3p194 :004 > s = "<" 
=> "<" 
1.9.3p194 :005 > 0.send :"#{s}", 1 
=> true 
+0

Спасибо, это правильно. Есть ли какая-либо другая возможность, подобная этой, делать то, что я хочу? – AKovtunov

+0

Почему бы не просто '0.send: <, 1'? –

+0

@padde 'Потому что у меня есть символы «<», а другие - как переменные для динамического состояния. – AKovtunov

0

Вам не нужен тройной оператор ? :. Его можно просто написать по адресу:

Model.send("attr_name").send(condition,0) 
+0

Этот ответ не подходит к вопросу. – pje

+0

Упс .. исправил его :) – ShadyKiller

Смежные вопросы