语法错误,意外’:’

出于某种原因,我无法在一行条件下使用渲染。

例如,这适用:

@key = Key.find_by_patient_id(5).nil? ? @key : @key 

但这不是:

 @key = Key.find_by_patient_id(5).nil? ? render :index : render :index 

错误信息:

语法错误,意外的tSYMBEG,期待keyword_do或'{‘或’(’… y_patient_id(5).nil ?? render:index:render:index

这是因为冒号是否代表符号或分隔符是不明确的。 对每个条件进行分组应修复语法错误:

 @key = Key.find_by_patient_id(5).nil? ? (render :index) : (render :index)