diff options
author | Luke Shumaker <LukeShu@sbcglobal.net> | 2014-03-03 22:20:02 -0500 |
---|---|---|
committer | Luke Shumaker <LukeShu@sbcglobal.net> | 2014-03-03 22:20:02 -0500 |
commit | 423d0e5a440d8d66407522bc842ef273196173bc (patch) | |
tree | ec2dfc14881734c4585622962235b225c653da04 /app | |
parent | f825d7e30ff6393b66a5abcc05a33f72d7d6712b (diff) |
run ./generate.sh
Diffstat (limited to 'app')
-rw-r--r-- | app/assets/stylesheets/sessions.css.scss | 2 | ||||
-rw-r--r-- | app/controllers/users_controller.rb | 72 | ||||
-rw-r--r-- | app/views/users/_form.html.erb | 29 | ||||
-rw-r--r-- | app/views/users/edit.html.erb | 6 | ||||
-rw-r--r-- | app/views/users/index.html.erb | 31 | ||||
-rw-r--r-- | app/views/users/index.json.jbuilder | 4 | ||||
-rw-r--r-- | app/views/users/new.html.erb | 5 | ||||
-rw-r--r-- | app/views/users/show.html.erb | 19 | ||||
-rw-r--r-- | app/views/users/show.json.jbuilder | 1 |
9 files changed, 168 insertions, 1 deletions
diff --git a/app/assets/stylesheets/sessions.css.scss b/app/assets/stylesheets/sessions.css.scss index ccb1ed2..7bef9cf 100644 --- a/app/assets/stylesheets/sessions.css.scss +++ b/app/assets/stylesheets/sessions.css.scss @@ -1,3 +1,3 @@ -// Place all the styles related to the Sessions controller here. +// Place all the styles related to the sessions controller here. // They will automatically be included in application.css. // You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 3e74dea..b18efed 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -1,2 +1,74 @@ class UsersController < ApplicationController + before_action :set_user, only: [:show, :edit, :update, :destroy] + + # GET /users + # GET /users.json + def index + @users = User.all + end + + # GET /users/1 + # GET /users/1.json + def show + end + + # GET /users/new + def new + @user = User.new + end + + # GET /users/1/edit + def edit + end + + # POST /users + # POST /users.json + def create + @user = User.new(user_params) + + respond_to do |format| + if @user.save + format.html { redirect_to @user, notice: 'User was successfully created.' } + format.json { render action: 'show', status: :created, location: @user } + else + format.html { render action: 'new' } + format.json { render json: @user.errors, status: :unprocessable_entity } + end + end + end + + # PATCH/PUT /users/1 + # PATCH/PUT /users/1.json + def update + respond_to do |format| + if @user.update(user_params) + format.html { redirect_to @user, notice: 'User was successfully updated.' } + format.json { head :no_content } + else + format.html { render action: 'edit' } + format.json { render json: @user.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /users/1 + # DELETE /users/1.json + def destroy + @user.destroy + respond_to do |format| + format.html { redirect_to users_url } + format.json { head :no_content } + end + end + + private + # Use callbacks to share common setup or constraints between actions. + def set_user + @user = User.find(params[:id]) + end + + # Never trust parameters from the scary internet, only allow the white list through. + def user_params + params.require(:user).permit(:name, :email, :user_name) + end end diff --git a/app/views/users/_form.html.erb b/app/views/users/_form.html.erb new file mode 100644 index 0000000..4d28738 --- /dev/null +++ b/app/views/users/_form.html.erb @@ -0,0 +1,29 @@ +<%= form_for(@user) do |f| %> + <% if @user.errors.any? %> + <div id="error_explanation"> + <h2><%= pluralize(@user.errors.count, "error") %> prohibited this user from being saved:</h2> + + <ul> + <% @user.errors.full_messages.each do |msg| %> + <li><%= msg %></li> + <% end %> + </ul> + </div> + <% end %> + + <div class="field"> + <%= f.label :name %><br> + <%= f.text_field :name %> + </div> + <div class="field"> + <%= f.label :email %><br> + <%= f.text_field :email %> + </div> + <div class="field"> + <%= f.label :user_name %><br> + <%= f.text_field :user_name %> + </div> + <div class="actions"> + <%= f.submit %> + </div> +<% end %> diff --git a/app/views/users/edit.html.erb b/app/views/users/edit.html.erb new file mode 100644 index 0000000..99bd4cc --- /dev/null +++ b/app/views/users/edit.html.erb @@ -0,0 +1,6 @@ +<h1>Editing user</h1> + +<%= render 'form' %> + +<%= link_to 'Show', @user %> | +<%= link_to 'Back', users_path %> diff --git a/app/views/users/index.html.erb b/app/views/users/index.html.erb new file mode 100644 index 0000000..3692112 --- /dev/null +++ b/app/views/users/index.html.erb @@ -0,0 +1,31 @@ +<h1>Listing users</h1> + +<table> + <thead> + <tr> + <th>Name</th> + <th>Email</th> + <th>User name</th> + <th></th> + <th></th> + <th></th> + </tr> + </thead> + + <tbody> + <% @users.each do |user| %> + <tr> + <td><%= user.name %></td> + <td><%= user.email %></td> + <td><%= user.user_name %></td> + <td><%= link_to 'Show', user %></td> + <td><%= link_to 'Edit', edit_user_path(user) %></td> + <td><%= link_to 'Destroy', user, method: :delete, data: { confirm: 'Are you sure?' } %></td> + </tr> + <% end %> + </tbody> +</table> + +<br> + +<%= link_to 'New User', new_user_path %> diff --git a/app/views/users/index.json.jbuilder b/app/views/users/index.json.jbuilder new file mode 100644 index 0000000..42d8b72 --- /dev/null +++ b/app/views/users/index.json.jbuilder @@ -0,0 +1,4 @@ +json.array!(@users) do |user| + json.extract! user, :id, :name, :email, :user_name + json.url user_url(user, format: :json) +end diff --git a/app/views/users/new.html.erb b/app/views/users/new.html.erb new file mode 100644 index 0000000..efc0404 --- /dev/null +++ b/app/views/users/new.html.erb @@ -0,0 +1,5 @@ +<h1>New user</h1> + +<%= render 'form' %> + +<%= link_to 'Back', users_path %> diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb new file mode 100644 index 0000000..9455a3c --- /dev/null +++ b/app/views/users/show.html.erb @@ -0,0 +1,19 @@ +<p id="notice"><%= notice %></p> + +<p> + <strong>Name:</strong> + <%= @user.name %> +</p> + +<p> + <strong>Email:</strong> + <%= @user.email %> +</p> + +<p> + <strong>User name:</strong> + <%= @user.user_name %> +</p> + +<%= link_to 'Edit', edit_user_path(@user) %> | +<%= link_to 'Back', users_path %> diff --git a/app/views/users/show.json.jbuilder b/app/views/users/show.json.jbuilder new file mode 100644 index 0000000..4919af3 --- /dev/null +++ b/app/views/users/show.json.jbuilder @@ -0,0 +1 @@ +json.extract! @user, :id, :name, :email, :user_name, :created_at, :updated_at |