From e11ffc760a2147968650ea155f3ea20b0ca664de Mon Sep 17 00:00:00 2001 From: websitekay Date: Thu, 24 May 2018 22:56:52 -0700 Subject: [PATCH 1/3] Add quests show page --- app/controllers/quests_controller.rb | 4 ++++ app/views/quests/show.html.erb | 9 +++++++++ config/routes.rb | 2 +- 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 app/views/quests/show.html.erb diff --git a/app/controllers/quests_controller.rb b/app/controllers/quests_controller.rb index 4fca22e..86a6413 100644 --- a/app/controllers/quests_controller.rb +++ b/app/controllers/quests_controller.rb @@ -3,6 +3,10 @@ def index @quests = Quest.all end + def show + @quest = Quest.find(params[:id]) + end + def assign @quest = Quest.find(params[:id]) @assignment = @quest.assignments.build user: current_user diff --git a/app/views/quests/show.html.erb b/app/views/quests/show.html.erb new file mode 100644 index 0000000..eb7a486 --- /dev/null +++ b/app/views/quests/show.html.erb @@ -0,0 +1,9 @@ +

Description:

+<%= @quest.description %> + +<%= take_button(@quest) if signed_in? %> + +

Places:

+<% @quest.places.each do |place| %> + <%= link_to place.name, place %>
+<% end %> diff --git a/config/routes.rb b/config/routes.rb index 85b69cd..dc8c90f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,7 +1,7 @@ Rails.application.routes.draw do root 'quests#index' resources :places, only: [:show] - resources :quests, only: [:index] do + resources :quests, only: [:index, :show] do member do post 'assign' post 'unassign' From 5e0ff0eaffdc8f4288368be3d9e796a0a1ea874e Mon Sep 17 00:00:00 2001 From: websitekay Date: Thu, 24 May 2018 23:59:00 -0700 Subject: [PATCH 2/3] Add a place has many quests association --- app/models/place.rb | 2 ++ app/models/quest.rb | 6 +++--- app/models/user.rb | 3 ++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/app/models/place.rb b/app/models/place.rb index a4f5ebe..162c342 100644 --- a/app/models/place.rb +++ b/app/models/place.rb @@ -1,2 +1,4 @@ class Place < ApplicationRecord + has_many :adventures + has_many :quests, through: :adventures # place.quests end diff --git a/app/models/quest.rb b/app/models/quest.rb index fdb9b67..5f68174 100644 --- a/app/models/quest.rb +++ b/app/models/quest.rb @@ -1,8 +1,8 @@ class Quest < ApplicationRecord has_many :adventures - has_many :places, through: :adventures - has_many :assignments - has_many :users, through: :assignments + has_many :places, through: :adventures # quest.places + + # doesn't need quest.users (yet) def add_user(user) users << user diff --git a/app/models/user.rb b/app/models/user.rb index feab449..ae6ff2a 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -1,5 +1,6 @@ class User < ApplicationRecord has_secure_password + has_many :assignments - has_many :quests, through: :assignments + has_many :quests, through: :assignments # user.quests end From bd7a74210dc2b64c66a34983e555ac9caaf9620b Mon Sep 17 00:00:00 2001 From: websitekay Date: Fri, 25 May 2018 00:29:50 -0700 Subject: [PATCH 3/3] Simplify quest listing because now show page for details --- app/views/quests/index.html.erb | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/app/views/quests/index.html.erb b/app/views/quests/index.html.erb index 424b1b5..e556cfc 100644 --- a/app/views/quests/index.html.erb +++ b/app/views/quests/index.html.erb @@ -1,15 +1,8 @@

Quests

<% @quests.each do |quest| %>
-

Description:

- <%= quest.description %> - - <%= take_button(quest) if signed_in? %> - -

Places:

- <% quest.places.each do |place| %> - <%= link_to place.name, place %>
- <% end %> + <%= link_to quest.description.split(' ').first, quest %> + <%= quest.description.split(' ')[1..-1].join(' ') %>
<% end %>