답변

17

"추가"버튼이 필요하다는 의미입니까? 이렇게 도우미를 만드는 것은 어떨까요?

# usage: 
# link_to_next_page(@items) 
# link_to_next_page(@items, :remote => true) # Ajax 
def link_to_next_page(scope, name, options = {}, &block) 
    param_name = options.delete(:param_name) || Kaminari.config.param_name 
    link_to_unless scope.last_page?, name, {param_name => (scope.current_page + 1)}, options.merge(:rel => 'next') do 
    block.call if block 
    end 
end 

유용하다고 생각되는 경우이 종류의 도우미 메서드를 포함 할 준비가되었습니다. 따라서 생각해보십시오. 감사!

+0

위대한 작품! 참으로 보석에 포함시키는 것이 유용 할 것입니다. 아주 매력적이고 더 일반적인 종류의 페이지 매김을 다룰 것입니다 :) 감사합니다! – invaino

+0

안녕하세요, 저는 "더"버튼을 직접 만들려고 노력하면서이 문제를 보았습니다. 나는 jquery로 정말 새롭고 아무 것도 얻지 못하는 것 같습니다. 이 도우미 메서드가 "더"버튼을 만들기 위해 jquery와 연결될 수있는 방법을 설명해 주시겠습니까? –

+0

버튼이 많을수록 좋지만 이전 항목은 그대로두고 다음 항목은 이전 항목보다 작아야합니다. – Uchenna

1

link_to_next_page(@items, :remote => true)은 상자에서 제대로 작동하지 않습니다. Ajax 요청 후 현재 페이지를 판별 할 수있는 방법이 없으므로 새 항목을 가져온 후에 링크를 교체해야합니다. 눈에 거슬리지 자바 스크립트를 사용하여,이 뭔가는 다음과 같이 보일 것이다 :

# app/views/items/index.js.erb 
$(".items").append("<%= escape_javascript(render(@items)) %>"); 
$(".more_link").replaceWith("<%= escape_javascript(
    link_to_next_page @items, 'View more', 
         :remote => true, 
         :id  => :view_more) %>"); 

을이, 이해가 Railscasts에서 Unobtrusive Javascript screencast을 살펴하지 않습니다.