0
디스플레이 용으로 내 테이블의 첫 번째 레코드 만 가져 오려고합니다. 사용자가 여러 이미지를 업로드하고 게시물에 첨부 할 수있는 사이트를 만들고 있지만 각 게시물의 첫 번째 이미지보기 만 표시하려고합니다.컨트롤러를 변경하지 않고보기를 통해 테이블의 첫 번째 레코드 만 가져 오는 중입니까?
더 명확히하기 위해 posts belong_to projects
. 따라서 프로젝트 쇼 페이지에 여러 게시물이 표시됩니다. 이보기에서는 각 게시물의 첫 번째 이미지 만 표시하려고합니다. 컨트롤러에 영향을주지 않고보기에서이를 수행 할 수있는 방법이 있습니까 (나중에 사용자가 라이트 박스를 추가하여 모든 사진을 탐색 할 수있게하려는 경우). 여기 내 /views/posts/_post.html.erb 코드 :
<% div_for post do %>
<% post.photos.each do | photo | %>
<%= image_tag(photo.data.url(:large), :alt => '') %>
<%= photo.description %>
<% end unless post.photos.first.new_record? rescue nil %>
<%= link_to h(post.link_title), post.link %>
<%= h(post.description) %>
<%= link_to 'Manage this post', edit_post_path(post) %>
<% end %>
업데이트 : 각 게시물에 여러 장의 사진을 첨부하는 사진 모델을 사용하고 여기에 클립을 사용하고 .
내가 계속 작업해야하는 데 어려움을 겪고있는 '... 사진 | ...'을 유지해야합니까? 루비와 레일을 처음 접했을 때 전체 구문을 포함 할 수 있습니까? – bgadoci
FYI, 내가'<% post.photos.first do | 사진 | %>'이미지가 전혀 표시되지 않습니다. 사진을 사진 테이블에 추가하고 사진 모델을 게시하기 위해 사진을 추가하고 사진 (또는보기)을위한 컨트롤러가없는 것을 편집하십시오. – bgadoci
먼저 사진이 배열을 반환하는 단일 객체를 반환하므로 do 블록이 필요하지 않으므로 업데이트됩니다 – house9