Skip to content

Commit 780c7e8

Browse files
committed
Add individual Dojo page to /dojos/:id[.json]
1 parent 8f1e6c6 commit 780c7e8

File tree

3 files changed

+79
-1
lines changed

3 files changed

+79
-1
lines changed

app/controllers/dojos_controller.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,15 @@ def index
2525
format.json { render json: @dojo_data }
2626
end
2727
end
28+
29+
# GET /dojos/:id
30+
def show
31+
@dojo = Dojo.find(params[:id])
32+
@event_histories = @dojo.event_histories.order(:evented_at)
33+
34+
respond_to do |format|
35+
format.html
36+
format.json { render json: @event_histories }
37+
end
38+
end
2839
end

app/views/dojos/show.html.erb

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
<% provide :title, "CoderDojo #{@dojo[:name]} - 統計情報" %>
2+
<% provide :desc, "CoderDojo #{@dojo[:name]}に関する公開されている統計情報をまとめたページです。" %>
3+
<% provide :url, dojo_url(@dojo) %>
4+
<% provide :meta_image, "/img/ogp-events.jpeg" %>
5+
6+
<section class="cover">
7+
<%= lazy_image_tag "/events_cover.jpg", alt: "Cover Photo on Upcoming Events", min: true %>
8+
</section>
9+
10+
<section id="events" class="text-center" style="margin-bottom: 100px;">
11+
<br>
12+
<h1>☯️
13+
CoderDojo <%= @dojo.name %> の統計情報<br><small>(公開情報のみ掲載)</small>
14+
</h1>
15+
<br>
16+
<p style="margin: 0 0px 40px 10px; line-height: 1.5em;">
17+
CoderDojo <%= @dojo[:name] %>に関する公開されている統計情報をまとめたページです。
18+
<br><br>
19+
<small>
20+
21+
<a href="<%= events_path %>">近日開催</a>のデータは含まず、<a href="<%= stats_path %>">過去開催</a>のデータを使っています。
22+
<br>
23+
24+
より詳細データは<code><%= link_to dojo_path(@dojo) + '.json', dojo_url(@dojo) + ".json" %></code> でご確認いただけます。
25+
<br>
26+
</small>
27+
</p>
28+
29+
<div style="margin-top: 20px;" align="center">
30+
<table border="1">
31+
<tr>
32+
<th style="padding: 10px; text-align: center;">
33+
<small>☯️
34+
開催日
35+
</small>
36+
</th>
37+
<th style="padding: 10px; text-align: center;">
38+
<small>👥
39+
参加数
40+
</small>
41+
</th>
42+
<th style="padding: 10px; text-align: center;">
43+
<small>📝
44+
URL
45+
</small>
46+
</th>
47+
</tr>
48+
<% @event_histories.each do |event| %>
49+
<tr>
50+
<td style="padding: 1px 10px 1px 10px; text-align: right;">
51+
<small><%= event[:evented_at].strftime("%F") %></small>
52+
</td>
53+
<td style="padding: 1px 10px 1px 10px;">
54+
<small><%= event[:participants] %></small>
55+
</td>
56+
<td style="padding: 1px 10px 1px 10px; text-align: left;">
57+
<small>
58+
<a href='<%= event[:event_url] %>'>
59+
<span title="<%= event[:event_url] %>"><%= event[:event_url] %></span>
60+
</a>
61+
</small>
62+
</td>
63+
</tr>
64+
<% end %>
65+
</table>
66+
</div>
67+
</section>

config/routes.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
get "/kata" => "docs#kata"
6262
#get "/debug/kata" => "docs#kata"
6363

64-
resources :dojos, only: %i(index) # GET /dojos.json returns dojo data as JSON
64+
resources :dojos, only: %i(index show) # GET /dojos.json returns dojo data as JSON
6565
resources :docs, only: %i(index show)
6666
resources :podcasts, only: %i(index show)
6767
resources :spaces, only: %i(index)

0 commit comments

Comments
 (0)