2011-05-14 140 views
1

由於某種原因,我無法在一行條件中使用渲染。語法錯誤,意外':'

例子,這個工程:

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

但這並不:

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

錯誤消息:

syntax error, unexpected tSYMBEG, expecting keyword_do or '{' or '(' ...y_patient_id(5).nil? ? render :index : render :index

+0

請將某個地方的換行符,它不清楚你需要得到什麼。 – taro 2011-05-14 17:19:13

+0

我在換行符上添加了錯誤消息,如果這就是您的意思。 – user715697 2011-05-14 17:25:15

+0

請用文字描述你想用這段代碼做什麼。 – taro 2011-05-14 17:26:52

回答

2

這是因爲大腸是曖昧是否代表一個符號或分離器。將每個條件分組應該修復語法錯誤:

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

謝謝你的工作! – user715697 2011-05-14 17:58:09

+0

順便說一下,我會說這個聲明對讀者來說仍然是模棱兩可的......我敢肯定它將'@ key'的值設置爲'render'的返回值,我不認爲這是你想要的值做。 – 2011-05-14 18:00:24