I'm trying to submit a form to create a user, but I see in Powershell that only a GET request is sent, no POST request has been sent and therefore there is nothing in the database. I'm using rails 4.1.8, ruby 2.0.0, and sqlite 3 for my database.
This is my first time developing something, I really appreciate any help! Let me know if I should include anything else!
Users page with form
<!DOCTYPE html>
<html>
<body>
<div class="container">
<form class="form-signin">
<h2 class="form-signin-heading">Sign Up For An Account</h2>
<%=form_for(:user, :method => :post) do |f|%>
<%= f.text_field :first_name, :placeholder => 'First name' %>
<%= f.text_field :last_name, :placeholder => 'Last name' %>
<%= f.email_field :email, :placeholder => 'Email' %>
<%= f.password_field :password, :placeholder => 'Password' %>
<%=f.submit 'Sign Up', class: "btn btn-lg btn-primary btn-block"%>
<%end%>
</form>
</div>
</body>
</html>
Users controller
class UsersController < ApplicationController
def new
@user = User.new
end
def create
@user = User.new(user_params)
if @user.save
session[:user_id] = @user.id
redirect_to '/dashboard'
else
redirect_to '/signup'
end
end
private
def user_params
params.require(:user).permit(:first_name, :last_name, :email, :password)
end
end
Routes
Rails.application.routes.draw do
root 'welcome#index'
resources :users
get '/signup' => 'users#new'
get '/login' => 'sessions#new'
post '/login' => 'sessions#create'
delete '/logout' => 'sessions#destroy'
get '/dashboard' => 'hours#new'
end
Aucun commentaire:
Enregistrer un commentaire