저는 특정 블록에 값이 존재하는지 확인하고, 해당 블록의 내용을 표시하려고하고 "Nothing for this yet"라고 표시하지 않으려 고합니다. 나는 otherSO posts을 연구했지만 구현은 꺼야합니다.nil 레일에 대해 혼란 스럽습니다.
<% @profiles.each do |profile| %>
<%= profile.current_club %>
<% if profile.listings %>
<%= video_thumb_embed(profile.listings.last.video).html_safe %>
<% end %>
<% end %>
- 비디오는 명부 모델의 속성입니다.
- 색인 페이지에 모든 사용자 프로필을 표시하고이 색인 페이지에 추가 한 최신 비디오를 표시하려고합니다. 사용자가 추가되지 않은 경우
이 오류 아웃 목록 그래서 나는 각 블록의 간단한 확인이 될 것이라고 생각하지만 추가 한 다음에 그 오류를 밖으로
전무에 대한정의되지 않은 메서드`비디오 ' NilClass
여기서는 무엇을 이해하지 못하겠습니까? 위의 경우 프로필 페이지에 동영상이 표시되면 프로필이 표시되고, 표시되지 않으면 아무 것도 표시되지 않습니다.
오류로 인해 'profile.listings.last'는 nil입니다. 'profile.listings'을 출력하여 목록이 배열되어 있는지 확인하십시오. – Huy
'profile.listings'을 출력하면'[]'을 줄 수 있습니다. 좋아, 그럼 사용자가 아직 목록을 추가하지 않은 경우 배열은 비어 있습니다. 이것은 배열에 요소가 있고 검사가 예상대로 작동하는지 확인하는 것입니까? –
네,'if profile.listings'을'if! profile.listings.blank? '로 변경하면됩니다. – Huy