summaryrefslogtreecommitdiff
path: root/app/controllers
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2016-05-28 08:38:43 -0600
committermo khan <mo@mokhan.ca>2016-05-28 08:38:43 -0600
commit8be0dbbbafecb2065b2dbbb161dd6f31fe51ceb8 (patch)
tree3911765c72e06fe7401735f009985a8888e293d7 /app/controllers
parentcd79878b91a6b2bffde89cf34774b62a0e4dbc62 (diff)
update gyms#create to create a gym using the yelp id.
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/gyms_controller.rb16
-rw-r--r--app/controllers/profiles_controller.rb9
2 files changed, 16 insertions, 9 deletions
diff --git a/app/controllers/gyms_controller.rb b/app/controllers/gyms_controller.rb
index ddb74d2..b5da8c8 100644
--- a/app/controllers/gyms_controller.rb
+++ b/app/controllers/gyms_controller.rb
@@ -21,9 +21,13 @@ class GymsController < ApplicationController
end
def create
- @gym = Gym.new(secure_params)
+ @gym = build_gym
+
if @gym.save
- redirect_to gyms_path(q: @gym.name)
+ respond_to do |format|
+ format.html { redirect_to gyms_path(q: @gym.name) }
+ format.js { render @gym }
+ end
else
flash[:error] = @gym.errors.full_messages
render :new
@@ -39,4 +43,12 @@ class GymsController < ApplicationController
location_attributes: [:address, :city, :region, :country, :postal_code]
)
end
+
+ def build_gym
+ if params[:yelp_id].present?
+ @gym = Gym.create_from_yelp!(params[:yelp_id])
+ else
+ @gym = Gym.new(secure_params)
+ end
+ end
end
diff --git a/app/controllers/profiles_controller.rb b/app/controllers/profiles_controller.rb
index e56a45a..687962d 100644
--- a/app/controllers/profiles_controller.rb
+++ b/app/controllers/profiles_controller.rb
@@ -12,12 +12,7 @@ class ProfilesController < ApplicationController
def update
profile = current_user.profile
- ActiveRecord::Base.transaction do
- if params[:home_gym_yelp_id].present?
- profile.gym = Gym.create_from_yelp!(params[:home_gym_yelp_id])
- end
- profile.update(profile_params)
- end
+ profile.update(profile_params)
flash[:notice] = t("profiles.edit.profile_update_success")
redirect_to profile_path(profile)
end
@@ -25,6 +20,6 @@ class ProfilesController < ApplicationController
private
def profile_params
- params.require(:profile).permit(:gender, :social_tolerance, :time_zone)
+ params.require(:profile).permit(:gender, :social_tolerance, :time_zone, :gym_id)
end
end