2011-05-14 99 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