Skip to content

GangsterTeam/rails_crud_sample_app

Repository files navigation

README

Simple CRUD Application using Rails

  • Create
  • Read
  • Update
  • Delete

Ruby version - 2.6

Rails version - 5.2.3

  1. create new rails application rails new rails_crud_sample_app
  2. chnage location cd rails_crud_sample_app
  3. create model rails g model sample name
  4. create controller rails g controller samples index show new edit
  5. config/routes.rb
Rails.application.routes.draw do
  resources :samples
end

or

Rails.application.routes.draw do
  get 'samples/index'
  get 'samples/show'
  get 'samples/new'
  get 'samples/edit'
end
  1. rake db:migrate

7.Get / Show the list

app/controllers/samples_controller.rb

def index
  @samples = Sample.all
end

views/samples/index.html.erb

<ul>
  <% @samples.each do |sample| %>
    <li><%= link_to sample.name, sample_path(sample)  %></li>
  <% end %>
</ul>

app/controllers/samples_controller.rb

def show
  @sample = Sample.find(params[:id])
end

views/samples/show.html.erb

<h1><%= @sample.name %></h1>
  1. create a sample record

app/controllers/samples_controller.rb

def new
  @sample = Sample.new
end

def create
  sample = Sample.create(sample_params)
  redirect_to samples_path
end

private
def sample_params
  params.require(:sample).permit(:name)
end

views/samples/new.html.erb

<h3>Create a Sample</h3>
<%= form_with model: @sample do |form| %>
  <%= form.text_field :name, placeholder: "name" %>
  <%= form.submit %>
<% end %>
  1. Update part

app/controllers/samples_controller.rb

def edit
  @sample = Sample.find(params[:id])
end
def update
  @sample = Sample.find(params[:id])
  @Sample.update(sample_params)
  redirect_to sample_path(@sample)
end
private
  def sample_params
  params.require(:sample).permit(:name)
end

views/samples/edit.html.erb

<h3>Update Sample Details</h3>
<%= form_with model: @sample do |form| %>
  <%= form.text_field :name, placeholder: "name" %>
  <%= form.submit %>
<% end %>
  1. Delete part

app/controllers/samples_controller.rb

def destroy
  @sample = Sample.find(params[:id])
  @sample.destroy
  redirect_to samples_path
end

views/samples/show.html.erb

<%= link_to 'Remove', @sample, method: :delete, data: { confirm: 'Are you sure?' } %>

Here we Goo..

CrudSampleonlinevideocutter crud_app_rails