I have just finished the Michael Hartl tutorial. I am trying to implement omniauth-facebook to sign-up and sign-in users. I am having trouble creating the master variable to use in the create action in the sessions controller. My assumption is that I should put in an if else statement to see if the master is either signing on through facebook or through the default form? Or should I use and or statement:
(master = Master.find_by(email: params[:session][:email].downcase) || Master.from_omniauth(env["omniauth.auth"])) ?
Here is the omniauth-facebook sessons controller create action code:
def create user = User.from_omniauth(env["omniauth.auth"]) session[:user_id] = user.id redirect_to root_url end
And here is my current sessions controller create action code:
class SessionsController < ApplicationController
def new end
def create master = Master.find_by(email: params[:session][:email].downcase) if master && master.authenticate(params[:session][:password]) sign_in master redirect_back_or master else flash.now[:error] = 'Invalid email/password combination' render 'new' end end . . .
end