Ruby “中的动态条件符号”;如果;

Ruby “中的动态条件符号”;如果;,ruby,conditional-statements,Ruby,Conditional Statements,我想创建一个动态条件。看起来像 Model.send("attr_name") > 0 ? true : false 但是我怎样才能动态地写符号“>”?我不太明白你的问题是什么,但这可能是答案: 1.9.3p194 :004 > s = "<" => "<" 1.9.3p194 :005 > 0.send :"#{s}", 1 => true 1.9.3p194:004>s=“您不需要三元运算符?:。它可以简单地写为: Model.send(

我想创建一个动态条件。看起来像

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

但是我怎样才能动态地写符号“>”?

我不太明白你的问题是什么,但这可能是答案:

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

1.9.3p194:004>s=“您不需要三元运算符
?:
。它可以简单地写为:

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

谢谢,这是对的。还有其他类似的可能性来做我想做的吗?为什么不简单地
0.send:@padde'因为我有符号”或者,更明确地说:
0.send(s.to_sym,1)
如果条件来自用户,请确保将他们可以做的事情列入白名单,否则,它们将能够在您的对象上运行任意方法。@andremarshall它们将位于select标记中,但谢谢:)。您的
?true:false
是多余的。