diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index 241154fa..e9d05b21 100644 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -1,6 +1,7 @@ class HomeController < ApplicationController def show - @dojo_count = Dojo.active_dojos_count + @dojo_count = Dojo.active_dojos_count @regions_and_dojos = Dojo.group_by_region_on_active + @prefectures_and_dojos = Dojo.group_by_prefecture_on_active end end diff --git a/app/helpers/dojo_helper.rb b/app/helpers/dojo_helper.rb new file mode 100644 index 00000000..db1c1f07 --- /dev/null +++ b/app/helpers/dojo_helper.rb @@ -0,0 +1,13 @@ +module DojoHelper + def dojo_count_label(count) + if count == 1 + "#{count} Dojo" + else + "#{count} Dojos" + end + end + + def total_dojos_count(dojos) + dojos.sum(&:counter) + end +end diff --git a/app/models/dojo.rb b/app/models/dojo.rb index 80420f67..8bb79b58 100644 --- a/app/models/dojo.rb +++ b/app/models/dojo.rb @@ -47,6 +47,14 @@ def group_by_region_on_active active.group_by_region end + def group_by_prefecture + eager_load(:prefecture).default_order.group_by { |dojo| dojo.prefecture.name } + end + + def group_by_prefecture_on_active + active.group_by_prefecture + end + def aggregatable_annual_count(period) Hash[ joins(:dojo_event_services) diff --git a/app/views/shared/_dojos.html+smartphone.erb b/app/views/shared/_dojos.html+smartphone.erb index 71629ad7..206a342b 100644 --- a/app/views/shared/_dojos.html+smartphone.erb +++ b/app/views/shared/_dojos.html+smartphone.erb @@ -1,33 +1,41 @@
- <% regions_and_dojos.each_with_index do |(region, dojos), index| %> -
- -
-
- <%= render partial: 'shared/dojo', collection: dojos %> + <% if @prefectures_and_dojos.present? %> + <% @prefectures_and_dojos.each_with_index do |(prefecture, dojos), index| %> + <% dojo_count = total_dojos_count(dojos) %> +
+ +
+
+ <%= render partial: 'shared/dojo', collection: dojos %> +
-
+ <% end %> <% end %>
\ No newline at end of file + diff --git a/app/views/shared/_social_buttons_raw.html.erb b/app/views/shared/_social_buttons_raw.html.erb index f15dcd44..1ae727cb 100644 --- a/app/views/shared/_social_buttons_raw.html.erb +++ b/app/views/shared/_social_buttons_raw.html.erb @@ -18,4 +18,4 @@ <%# コメントアウトされたLINEのボタンは省略 %> - \ No newline at end of file +