Skip to content
Open

Done #1233

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 13 additions & 3 deletions app/controllers/application_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,12 @@ class ApplicationController < Sinatra::Base
end

post "/signup" do
#your code here

user = User.new(:username => params[:username], :password => params[:password])
if params[:username] != "" && user.save
redirect to "/login"
else
redirect to "/failure"
end
end

get '/account' do
Expand All @@ -32,7 +36,13 @@ class ApplicationController < Sinatra::Base
end

post "/login" do
##your code here
user = User.find_by(:username => params[:username])
if user && user.authenticate(params[:password])
session[:user_id] = user.id
redirect to "/account"
else
redirect to "/failure"
end
end

get "/failure" do
Expand Down
1 change: 1 addition & 0 deletions app/models/user.rb
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
class User < ActiveRecord::Base
has_secure_password
end
11 changes: 11 additions & 0 deletions db/migrate/20200326185307_create_users.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
class CreateUsers < ActiveRecord::Migration[5.1]
def up
create_table :users do |t|
t.string :username
t.string :password_digest
end
end
def down
drop_table :users
end
end
20 changes: 20 additions & 0 deletions db/schema.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# This file is auto-generated from the current state of the database. Instead
# of editing this file, please use the migrations feature of Active Record to
# incrementally modify your database, and then regenerate this schema definition.
#
# Note that this schema.rb definition is the authoritative source for your
# database schema. If you need to create the application database on another
# system, you should be using db:schema:load, not running all the migrations
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
# you'll amass, the slower it'll run and the greater likelihood for issues).
#
# It's strongly recommended that you check this file into your version control system.

ActiveRecord::Schema.define(version: 20200326185307) do

create_table "users", force: :cascade do |t|
t.string "username"
t.string "password_digest"
end

end