diff --git a/app/controllers/index_controller.rb b/app/controllers/index_controller.rb index 99ab901..28d795a 100644 --- a/app/controllers/index_controller.rb +++ b/app/controllers/index_controller.rb @@ -3,7 +3,6 @@ end get '/' do - @questions = Question.all.reverse erb :index end @@ -26,6 +25,7 @@ post '/users' do @user = User.new(params['user']) + p @user if @user.save login(@user) redirect '/' diff --git a/app/controllers/questions_controller.rb b/app/controllers/questions_controller.rb index c516bb3..d82bb04 100644 --- a/app/controllers/questions_controller.rb +++ b/app/controllers/questions_controller.rb @@ -16,6 +16,15 @@ end end +post '/questions/:question_id/answers' do + @answer = Answer.create(params[:answer]) + @question = Question.find(params[:question_id]) + @question.answers << @answer + if request.xhr? + erb :'answers/_new', layout: false + end +end + get '/questions/:id' do @question = Question.find_by(id: params[:id]) @answers = @question.answers @@ -23,15 +32,10 @@ end -#RESPOND TO A QUESTION ROUTES -get '/questions/:id/responses/new' do -end - post '/questions/:id/responses' do - @response = Response.new() + @response = Response.new(user_id: session[:user_id], respondable_id: params[:id], respondable_type: "Question") @question = Question.find_by(id: params[:id]) @question.responses << @response - # @question.save DO WE NEED THIS? @response.save redirect "/questions/#{@question.id}" end @@ -39,36 +43,32 @@ #ANSWER A QUESTION ROUTES get '/questions/:id/answers/new' do + + @question = Question.find(params[:id]) + erb :'answers/new', layout: false + end post '/questions/:id/answers' do - @answer = Answer.new() + @answer = Answer.new(user_id: session[:user_id], question_id: params[:id]) @question = Question.find_by(id: params[:id]) @question.answers << @answer - # @question.save DO WE NEED THIS? @answer.save redirect "/questions/#{@question.id}" end - -#RESPOND TO A QUESTION'S ANSWER ROUTES -get '/questions/:question_id/answers/:id/responses/new' do -end - post '/questions/:question_id/answers/:id/responses' do - @response = Response.new() + @response = Response.new(user_id: session[:user_id], respondable_id: params[:id], respondable_type: "Answer") @answer = Answer.find_by(id: params[:id]) @answer.responses << @response - # @answer.save DO WE NEED THIS? @response.save @question = Question.find_by(id: params[:question_id]) redirect "/questions/#{@question.id}" end post '/questions/:id/vote' do - p params @question = Question.find_by(id: params[:id]) - @vote = Vote.new + @vote = Vote.create(user_id: @question.user_id, votable_id: @question.id, votable_type: "Question") if request.xhr? if params[:data] == "upvote" @vote.up_vote = 1 @@ -80,6 +80,6 @@ return @question.down_vote_sum.to_s end else - # redirect "/questions/#{params[:id]}/vote" + redirect "/questions/#{params[:id]}/vote" end end diff --git a/app/controllers/users.rb b/app/controllers/users.rb index 1addf0f..991f36b 100644 --- a/app/controllers/users.rb +++ b/app/controllers/users.rb @@ -1,28 +1,28 @@ -get '/' do - erb :'index' -end +# get '/' do +# erb :'index' +# end -get '/users/new' do +# get '/users/new' do - erb :'/users/new' -end +# erb :'/users/new' +# end -post '/users' do - user = User.new(params[:user_info]) - if user.save - session[:user_id] = user.id - redirect "/users/#{user.id}" - else - redirect '/users/new' - end -end +# # post '/users' do +# # user = User.new(params['user']) +# # if user.save +# # session[:user_id] = user.id +# # redirect "/users/#{user.id}" +# # else +# # redirect '/users/new' +# # end +# # end -get '/users/:id' do - @user = User.find_by(id: params[:id]) - # @decks = Deck.find_by(user_id: @user.id) - if current_user == @user - erb :'/users/show' - else - redirect '/' - end -end +# get '/users/:id' do +# @user = User.find_by(id: params[:id]) +# # @decks = Deck.find_by(user_id: @user.id) +# if current_user == @user +# erb :'/users/show' +# else +# redirect '/' +# end +# end diff --git a/app/models/question.rb b/app/models/question.rb index 9d04a8c..7dda4b9 100644 --- a/app/models/question.rb +++ b/app/models/question.rb @@ -8,10 +8,22 @@ class Question < ActiveRecord::Base validates :title, :text, presence: true def up_vote_sum - votes.sum(:up_vote) + sum = 0 + self.votes.each do |vote| + if vote.up_vote == 1 + sum += 1 + end + end + return sum end def down_vote_sum - votes.sum(:down_vote) + sum = 0 + self.votes.each do |vote| + if vote.down_vote == 1 + sum += 1 + end + end + return sum end end diff --git a/app/views/_login.erb b/app/views/_login.erb index f10e662..ba385bd 100644 --- a/app/views/_login.erb +++ b/app/views/_login.erb @@ -16,7 +16,7 @@