【发布时间】:2012-06-28 10:06:18
【问题描述】:
以下代码行
<% invite.accepted ? { @going, @not_going = 'selected', '' } : { @going, @not_going = '', 'selected' } %>
是我尝试将几个操作(评估一个表达式并相应地设置两个变量的值)压缩成一行。
它引发了一个错误,声称有一个意外的逗号。
有没有办法让这个工作,或者我只是重载了可怜的三元运算符?
(顺便说一句,这只是一个个人实验。我不介意使用简单的 -- 尽管很麻烦 -- if/else 语句)
编辑:以下代码行有效!我会尽快核对正确答案!
<% invite.accepted ? ( @going, @not_going = 'selected', '' ) : ( @going, @not_going = '', 'selected' ) %>
【问题讨论】:
标签: ruby ternary-operator