반복 프로세스 중 일부 크기 조정

2535 단어 RefileRubyRails

목표


아래에 설명된 바와 같이 반복 처리 (each 문장) 의 시작에 비교적 큰 이미지 크기를 표시하고자 합니다

개발 환경


・Ruby2.5.7
・Rails5.2.4.4
・macOS Catalina10.15.7
・refile

전제 조건


・refile에 이미지 투고 기능 설치
・route.rb 루트와 모델 간의 연결을 실현했습니다
・ 부모 모델인 인원 모델과 이미지 투고에 사용되는portrait 모델은 1:N의 관계이다

일반 반복 처리


(※ Person은 상위 모델입니다. Person의 show 페이지에 portrait의 투고 기능이 설치되어 있습니다)
show.html.erb
# 省略
<% @person.portraits.each do |portrait| %>
  <%= attachment_image_tag portrait, :image, :fill, 100, 100 %>
<% end %>
# 省略
아래와 같이 같은 크기로 배열하다

if 문장을 사용하여 최초의 처리 이미지만 확대


아래와 같이 [0]를 지정하면 대상에 제시된 이미지처럼 첫 번째 이미지만 확대할 수 있습니다.
show.html.erb
# 省略
<% @person.portraits.each do |portrait| %>
  <% if @person.portraits[0] == portrait %>
    <%= attachment_image_tag portrait, :image, :fill, 130, 130 %>
  <% else %>
    <%= attachment_image_tag portrait, :image, :fill, 100, 100 %>
  <% end %>
<% end %>
# 省略
이번에 변경된 곳은 첫 번째 사이즈에 불과하지만, 조건을 바꾸는 것은 각양각색이다.

그림 작업


귀여운 자유소재집
https://www.irasutoya.com/

좋은 웹페이지 즐겨찾기