정렬에서 임의의 수량을 꺼내서 표시하기를 원합니다

6885 단어 Railstech

하고 싶은 일


글을 표시할 때, 위아래로 나누기를 원합니다
개별 문장의 디자인이 같다(동일한 부분의 템플릿을 사용한다)
posts_controller.rb
@posts = Post.all.limit(8)
컨트롤러에서 8 편의 글을 얻었다

구현 시 고려 사항


@posts에서 8편의 기사가 화제에 올랐다
→ 해시에서 앞의 두 개를 가져와 위에 표시합니다
→ 이 두 가지를 제외하고 산열에서 세 가지를 얻어 아래에 표시

그룹에서 두 번째 항목 가져오기


take
그룹의 시작에서 n 개의 매개 변수 요소를 추출하여 새 그룹을 만들고 되돌려줍니다
[1] pry(main)> fruits = [ "orange", "apple", "lemon", "strawberry", "banana", "grape" ]
=> ["orange", "apple", "lemon", "strawberry", "banana", "grape"]
[2] pry(main)> fruits.take(2)
=> ["orange", "apple"]

수조에서 앞의 두 개를 제외하고 나머지 원소를 얻다


drop
그룹의 시작에서 n 개의 매개 변수 요소를 제거하고 나머지 부분은 새 그룹을 만들고 되돌려줍니다.
[3] pry(main)> fruits.drop(2)
=> ["lemon", "strawberry", "banana", "grape"]

궁극적 실현 방법


posts/index.html.erb

# コントローラで取得した8件の記事(ハッシュに格納されている)の中から最初の2件を取得して表示
<div>
  <%= render partial: "posts/post", collection: @posts.take(2) %>
</div>
# コントローラで取得した8件の記事(ハッシュに格納されている)の中から最初の2件を除外して、さらに残りの6件から3件を取得して表示
<div>
  <%= render partial: "posts/post", collection: @posts.drop(2).limit(3) %>
</div>

참고 자료


https://qiita.com/yokke0059/items/af8bbe4f0f4c581bd3a7

좋은 웹페이지 즐겨찾기