vendredi 7 août 2015

Form information not saving into database with rails

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