2017-05-23 6 views
-2

나는 다음과 같은 구문 오류를 받고 있어요, 난 왜 이해가 안 돼요 옵션 1 또는 2를 사용하지 않을 경우, 그래서 내가 그랬어 :레일을 스트레이트 3 행 조건부로? keyword_end</p> </blockquote> <p>내가 옵션 3에 사용자를 지시하기 위해 노력하고있어 기대,</p> <blockquote> <p>구문 오류, 예기치 keyword_ensure을 :

<%if order.dispute.status == "open" %> 

    <li> 
    <%= button_to 'Dispute Open', order_dispute_path(order), method: :get, class: 'btn_grey' %> 
    </li> 

<% elsif %> 

    <li> 
    <%= button_to 'Dispute', new_order_dispute_path(order), method: :get, class: 'btn_grey' %> 
    </li> 

<% else %> 

    <li> 
    <%= button_to 'Dispute closed', closed_order_dispute_path, method: :get, class: 'btn_grey' %> 
    </li> 

<% end %> 
+0

들여 쓰기가 일치하지 않아 사소한 것처럼 보일 수 있지만 일관된 패턴을 따르면 자신의 논리를 이해하는 데 도움이됩니다. – moveson

답변

0

당신은 그냥 그 자체로 <% elsif %>을 쓸 수 없습니다.

그렇지 않은 경우 무엇을 ?? 당신이 쓴 무엇

만큼 의미가로 :

if 
    puts "this" 
else 
    puts "that" 
end 

(불법 구문은 물론, 어느.)

내가 당신을 추측하고있어이 같은 것을 작성하는 의미 :

<% elsif order.dispute.nil? %> 
+0

고맙습니다. 그렇기 때문에 2면 나와야 만합니다. 및 약 세 번째 옵션? 및 elsif가 존재하지 않는 이유는 무엇입니까? – lamar

+0

"else if"에는 * 조건 *이 필요합니다. 일반 "IF"처럼 조건이 필요합니다. 위에서 말했듯이 : "else if ** what? **"조건없이 "elsif"라고 쓰는 것은 잘못된 구문입니다. 왜냐하면 그건 의미가 없기 때문입니다. –

+0

또 다른 방법으로, 옵션 2 대 옵션 3을 표시하는 방법을 어떻게 결정 하시겠습니까? 척 옵션 1은 존재하지 않습니다. 잠시 동안 - 어떻게 쓰겠습니까? –