2015-11-30 5 views
-4

Как я могу улучшить это if -статье в рубине?Как я могу улучшить эту инструкцию `if`?

Оригинал if -statement:

status = 'None available', css_class = 'grey' 
if pending_final > 0 
    status = 'Pending' 
    css_class = 'red' 
elsif requested_final == 0 && request.granted 
    status = 'Granted' 
    css_class = 'green' 
elsif requested_final == 0 && request.granted == false 
    status = 'Not requested' 
    css_class = 'red' 
end 

Я пытался реорганизовать так:

status, css_class = if pending_final > 0 
'Pending', 'red' 
elsif requested_final == 0 && request.granted 
'Granted', 'green' 
# and so on... 
else 
'None available', 'grey' 
end 

Но тогда у меня есть синтаксическая ошибка в "" запятыми.

ответ

0

Попробуйте это

status, css_class = if pending_final > 0 
['Pending', 'red'] 
elsif requested_final == 0 && request.granted 
['Granted', 'green'] 
# and so on... 
else 
['None available', 'grey'] 
end 
+0

Спасибо, что было полезно! Мне не хватало "[" –

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