Почему-то не могу использовать условный рендер в одну строку условно.
Пример, это работает:
@key = Key.find_by_patient_id(5).nil? ? @key : @key
Но это не так:
@key = Key.find_by_patient_id(5).nil? ? render :index : render :index
Сообщение об ошибке:
синтаксическая ошибка, неожиданный tSYMBEG, ожидая ключевое слово_до или '{' или '(' ... y_patient_id (5) .nil? ? оказывать : индекс: рендер: индекс
Это потому, что двоеточие неоднозначно, представляет ли он символ или разделитель.Группировка каждого условия должна исправить синтаксическую ошибку:
@key = Key.find_by_patient_id(5).nil? ? (render :index) : (render :index)