Slide 31
Slide 31 text
Bonus: PAGINATION
# app/services/fetch_jokes_service.rb
# app/services/fetch_jokes_service.rb
def
def replace_pagination
replace_pagination(
(jokes_count
jokes_count,
, last_page
last_page)
)
pagy
pagy =
= Pagy
Pagy.
.new
new(
(count:
count: jokes_count
jokes_count,
, page:
page: last_page
last_page,
,
items:
items: Joke::PER_PAGE
Joke::PER_PAGE,
,
link_extra:
link_extra: 'data-turbo-action="advance"'
'data-turbo-action="advance"')
)
Turbo::StreamsChannel
Turbo::StreamsChannel.
.broadcast_replace_to
broadcast_replace_to(
(
[
[ jokes_request
jokes_request,
, "jokes_pagination"
"jokes_pagination" ],
],
target:
target: "jokes_pagination"
"jokes_pagination",
,
partial:
partial: "jokes_requests/jokes_pagination"
"jokes_requests/jokes_pagination",
,
locals:
locals: {
{ pagy:
pagy: pagy
pagy }
}
)
)
end
end