Skip to content

Commit a71e5dc

Browse files
committed
都道府県別表示に変更
1 parent 781428d commit a71e5dc

File tree

4 files changed

+13
-13
lines changed

4 files changed

+13
-13
lines changed

app/controllers/events_controller.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
class EventsController < ApplicationController
22
def show
33
@url = request.url
4-
@upcoming_events = UpcomingEvent.group_by_region_and_date
4+
@upcoming_events = UpcomingEvent.group_by_prefecture_and_date
55
end
66
end

app/models/upcoming_event.rb

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,16 @@ class UpcomingEvent < ApplicationRecord
1212
scope :until, ->(date) { where('event_at < ?', date.beginning_of_day) }
1313

1414
class << self
15-
def group_by_region_and_date
16-
events_by_region = eager_load(dojo_event_service: { dojo: :prefecture }).since(Time.zone.today).
15+
def group_by_prefecture_and_date
16+
events_by_prefecture = eager_load(dojo_event_service: :dojo).since(Time.zone.today).
1717
merge(Dojo.default_order).
18-
group_by { |event| event.dojo_event_service.dojo.prefecture.region }
18+
group_by { |event| event.dojo_event_service.dojo.prefecture_id }
1919

20-
regions = Prefecture.pluck(:region).uniq
2120
result = {}
22-
regions.each do |region|
23-
events = events_by_region[region]
24-
result[region] = events ? events.sort_by(&:event_at).map(&:catalog).group_by { |d| d[:event_date] } : {}
21+
Prefecture.all.each do |prefecture|
22+
events = events_by_prefecture[prefecture.id]
23+
next if events.blank?
24+
result[prefecture] = events.sort_by(&:event_at).map(&:catalog).group_by { |d| d[:event_date] }
2525
end
2626
result
2727
end
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
%div#event-list
2-
- upcoming_events.each do |region, events_by_date|
3-
%p.event-region= region
2+
- upcoming_events.each do |prefecture, events_by_date|
3+
%p.event-region= prefecture.name
44
- events_by_date.each do |date, events|
55
%p.event-date= "#{date.strftime('%Y/%m/%d')}"
66
%ul
@@ -10,4 +10,4 @@
1010
%span.event-at= "#{event[:event_at].strftime('%k:%M')}"
1111
%a.event-url{ href: "#{event[:event_url]}" }
1212
%span= event[:event_title]
13-
%span= "#{event[:dojo_name]} (#{event[:dojo_prefecture_name]})"
13+
%span= "(#{event[:dojo_name]})"

app/views/events/show.html.haml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
%h1 もうすぐ開催のイベント
1212
%br
1313
%p{:style => "margin: 0 30px 40px 30px;"}
14-
開催予定のイベントをチェックしましょう!
15-
= render partial: 'shared/upcoming_events', locals: { upcoming_events: @upcoming_events }
14+
💻 開催予定のイベントをチェックしましょう!
15+
= render partial: 'upcoming_events', locals: { upcoming_events: @upcoming_events }
1616

1717
%br
1818
%br

0 commit comments

Comments
 (0)