2017-03-02 5 views
-1

내 Rails 앱에서 새 제품을 만들 때 입력하는 양식 필드는 어떤 이미지가 표시되는지를 나타냅니다. '평결'텍스트 상자에 입력하면 제품이 싫어서 회색으로 표시된 비활성 Amazon 버튼이 표시됩니다.내 삼항 연산자 코드가 두 조건을 모두 반환하는 이유는 무엇입니까?

'goodverdict'상자에 입력하면 합법적 인 제품이므로 URL을 양식에 입력하기 때문에 Amazon의 구매 버튼이 제품에 연결되어 있습니다. 나는 처음에 present?을 시도하고 최근에는 presence (아래 내용)으로 전환했습니다. 둘 다 같은 결과.

하지만 'goodverdict'상자에만 입력하면 두 개의 인수가 모두 true 인 것처럼 두 단추가 표시되고 'false'라는 텍스트가 표시됩니다. 나타납니다.

<div class="col-md-4" id="belowvid"> 
<%= @product.verdict.presence %> ? <%[email protected] %> <br> <%= image_tag('https://s3.amazonaws.com/isitcrap/amazon+gray+button.jpg', width: 275) %> : 
<%= @product.goodverdict %> <br> 
<%= link_to image_tag("https://s3.amazonaws.com/isitcrap/amazon-Button.png", width: 275), @product.buylink.html_safe, target: :_blank %> 

이 인덱스로 렌더링하는 다른 부분에 의해 표현되고있는 부분 내지

enter image description here

.

+0

링크 된 페이지를 포함 "[질문]"읽어 보시기 바랍니다 : -이 경우

당신은 아마 원하는이 같은 것입니다. 이미지를 사용하여 코드 또는 오류 상태를 보여주지 마십시오. 대신 정보를 복사하여 질문에 붙여넣고 적절하게 형식을 지정하십시오. 심상에 연결은 그 때 끊고 그때 질문은 필수 정보를 놓치고있을 것이다. 또한 검색 엔진이 이미지를 인덱싱 할 수 없으므로 다른 사람들이 귀하의 질문을 찾고 답변을 제공하기가 더 어려워집니다. –

답변

2

귀하의 삼항 연산자는 루비 섹션에 없기 때문에 실행 중이 아닙니다. html에 있습니다.

<%/%> 태그의 태그 만이 루비로 실행됩니다. 그 외 모든 것은 HTML로 화면에 인쇄됩니다.

<% if @product.verdict.present? %> 
    <%= @product.verdict %> <br> <%= image_tag('https://s3.amazonaws.com/isitcrap/amazon+gray+button.jpg', width: 275) %> 
<% else %> 
<%= @product.goodverdict %> <br> 
<%= link_to image_tag("https://s3.amazonaws.com/isitcrap/amazon-Button.png", width: 275), @product.buylink.html_safe, target: :_blank %> 
<% end %> 
+1

감사합니다. 얼마나 단순한 지 모르겠지만, 시간이 많이 걸리지 않아 기쁘다. 그러나 ... :) – Nick

+0

나는이 문제를 ID-ID라고 생각하는 것에 대해 틀렸기 때문에이 코멘트를 다시 게시했습니다. 쓰레기, 너무 빨리 입력하십시오. 나는이 코드를 사용하고 나서 'buylist'속성 (양식의 'buylink'필드에 붙여 넣은 제품에 대한 링크이며 제품에 대한 구매 버튼 링크를 만든다)이라고 말하고 싶습니다. 라우팅 오류가 발생하여 다음과 같이 말합니다. [GET] "/products/www.espn.com"과 일치하는 경로가 없습니다. 이는 의미가 없습니다. @ products.buylink.html_safe는 변경되지 않았습니다. – Nick

+0

OH ... MY ... GOD ... 테스트 항목 중에 www.espn.com에 빠르게 들어가면 http : //를 포함하지 않았으며 아마존 링크가 항상 그렇게했기 때문입니다. 항상 일했다. 와우 ... – Nick