2012-03-19 3 views
0

내 질문 문구를 잘 모르는 경우. 나는 이벤트 모델을 가지고 있고 필드 중 하나는 'state'라고 불린다. 나는 내 상태에서 메시지의 표시를 위해 이벤트의 상태를 사용할 수있는 조건을 갖고 싶습니다.Ruby on Rails 3.2에서 동등하게 == 0 사용

기본 필드 값은 '0'입니다. 그리고 나는 이미 몇 가지 사건이있다. 내 코드가 뭔가를 좋아 보인다. 그러나 아무 일도 일어나지 않습니다. 내가 놓친 게 있니? 나는 또한 사용하려고 시도했다> 0

<% if event.state == 0 %> 
    <p> I will print a message here </p> 
<% end%> 

내가 여기에 뭔가가 떨어 졌습니까?

+0

값이 정수 또는 문자열의 클래스를 확인? – GetSet

+0

정수입니다. 상태 \t int (11) – Benjamin

+1

만약'if'의 직전에'<% Rails.logger.debug (event.state) %>'를 실행하면 어떤 결과가 나옵니까? – ScottJShea

답변

0

상태가 varchar 또는 정수로 저장되어 있습니까? VARCHAR 경우,

if event.state == "0"

+0

그냥 varchar로 변경하고 제안했지만 운을 시험해 보았습니다. – Benjamin

+0

콘솔에 들어가서'event.state'를 출력하면 어떻게됩니까? 해당 출력에서'.class'를 실행하여 출력중인 클래스를 확인하십시오. – jnevelson

0

당신의 국가의 데이터 유형은 무엇인가 일을하려고? 그 다음 문제가 무엇인지 식별 ​​할 수 Ruby String API

단계를 참조 문자열의 조건 검사에 대한 자세한 내용은 if event.state.eql?"0"

을 시도 문자열로 저장하는 경우

.

  1. 이벤트의 유무를 확인 하시겠습니까? raise event.inspect
  2. 하여 event.state puts event.state.class.name.inspect
+0

그냥 운이 없었어요. – Benjamin

+0

루비 API를 살펴보십시오. 내 대답을 편집했습니다. – asitmoharna

+0

감사합니다. – Benjamin