배열의 두 번째 인덱스가 있는지 확인하는 Ruby (선호) 또는 Rails 방법이 있습니까? 내 레일에서Ruby 및/또는 Rails를 사용하여 배열 인덱스가 존재하는지 확인하는 방법
(4.2.6) 응용 프로그램 I이 사진의 배열의 처음 두 개의 작은 이미지를 보여줍니다 내보기에 다음 코드 :
그러나<% if array.photos.any? %>
<%= image_tag array.photos.first.image.url(:thumb) %>
<%= image_tag array.photos[1].image.url(:thumb) %>
<% end %>
배열에는 두 번째 항목이없는 경우 다음, 내가 조건부 두 번째 썸네일의 렌더링을 만들기 위해 다음과 같은 if
문을 시도했습니다
오류가 있지만 작동하지 않습니다
<% if array.photos.include?(1) %>
<% if array.photos.second? %>
<% if array.photos[1]? %>
<% if array.photos[1].any? %>
내가 원하는 것을 얻는 또 다른 방법은 단순히 배열의 길이를 확인하는 것입니다.
Ruby (또는 레일스)에 배열의 특정 인덱스가 있는지 확인하는 방법이나 방법이 있는지 궁금합니다. 아닙니다. 미리 감사드립니다
편집 : 난 그냥, 배열의 첫 번째 두 개의 썸네일을 표시 할 명확히하기 위해 어떤
Wenceslao의 대답은 좋다. 이것의 핵심은 Ruby에서 배열은 개념적 크기 이상으로 안전하게 액세스 할 수 있다는 것입니다. 예를 들어, 배열'a = [1]'에 대해서는 인덱스를 검사 할 수 있고 아무 것도 없으면'nil'을 반환합니다. 그래서'array.photos [1] .nil? '은 그곳에 무엇이 있는지를 결정하는 가장 쉬운 방법입니다. – jaydel