diff --git a/app/controllers/cities_controller.rb b/app/controllers/cities_controller.rb
index 9148109..140d02c 100644
--- a/app/controllers/cities_controller.rb
+++ b/app/controllers/cities_controller.rb
@@ -4,7 +4,7 @@ class CitiesController < ApplicationController
def index
@regions = Region.order(:name)
- @cities = City.includes(:country, country: :region).order(:name)
+ @cities = City.includes(:country, :state).order(:name)
@latest_arts = WeatherArt.includes(:city, :image_attachment).latest(1)
if params[:query].present?
@@ -33,7 +33,15 @@ class CitiesController < ApplicationController
format.turbo_stream {
render turbo_stream: turbo_stream.update("cities_results",
partial: "cities/results",
- locals: { cities: @cities }
+ locals: {
+ cities: @cities,
+ pagination_params: {
+ region: params[:region],
+ country: params[:country],
+ state: params[:state],
+ query: params[:query]
+ }
+ }
)
}
end
diff --git a/app/views/cities/_results.html.erb b/app/views/cities/_results.html.erb
index 897237b..66e1b6f 100644
--- a/app/views/cities/_results.html.erb
+++ b/app/views/cities/_results.html.erb
@@ -19,6 +19,12 @@
<%= render 'shared/pagination',
collection: cities,
- collection_name: 'cities' %>
+ collection_name: 'cities',
+ pagination_params: {
+ region: params[:region],
+ country: params[:country],
+ state: params[:state],
+ query: params[:query]
+ } %>
<% end %>
\ No newline at end of file
diff --git a/app/views/cities/index.html.erb b/app/views/cities/index.html.erb
index b1715b0..79749b9 100644
--- a/app/views/cities/index.html.erb
+++ b/app/views/cities/index.html.erb
@@ -152,7 +152,7 @@
- <%= turbo_frame_tag "cities_results" do %>
+ <%= turbo_frame_tag "cities_results",data: { turbo_action: "advance" } do %>
<%= render "cities/results", cities: @cities %>
<% end %>
diff --git a/app/views/shared/_pagination.html.erb b/app/views/shared/_pagination.html.erb
index e0d9c62..db740fe 100644
--- a/app/views/shared/_pagination.html.erb
+++ b/app/views/shared/_pagination.html.erb
@@ -1,5 +1,6 @@
<%# app/views/shared/_pagination.html.erb %>
<% if collection.total_pages > 1 %>
+ <% pagination_params ||= {} %>
@@ -11,7 +12,7 @@
- <%= link_to url_for(page: 1, region: params[:region], country: params[:country], sort: params[:sort]),
+ <%= link_to url_for(pagination_params.merge(page: 1)),
class: "join-item btn btn-sm #{collection.first_page? ? 'btn-disabled' : 'btn-ghost'}" do %>