Tuesday, March 21, 2023
HomeRuby On RailsComfortable Delete with Discard | Drifting Ruby

Comfortable Delete with Discard | Drifting Ruby


# Terminal
rails g scaffold customers first_name last_name e-mail
rails g migration add_discard_to_users discarded_at:datetime:index
rails db:migrate
bundle add discard
# Gemfile
gem "discard", "~> 1.2"
# views/customers/index.html.erb
<td><%= person.discarded? ? 'YES' : '' %></td>
# users_controller.rb
  before_action :set_user, solely: [:show, :update, :destroy]

  def index
    # @customers = Person.stored
    @customers = Person.all
  finish

  def edit
    @person = Person.stored.discover(params[:id])
  finish

  def replace
    # @person.discarded_at = nil if params.dig(:restore)
    @person.undiscard if params.dig(:restore)

    if @person.replace(user_params)
      redirect_to @person, discover: 'Person was efficiently up to date.'
    else
      render :edit
    finish
  finish

  def destroy
    if @person.discarded?
      @person.destroy
    else
      @person.discard
    finish
    redirect_to users_url, discover: 'Person was efficiently destroyed.'
  finish
# fashions/person.rb
class Person < ApplicationRecord
  embody Discard::Mannequin
finish
# views/customers/_form.html.erb
  <%= content_tag :div, class: 'area' do %>
    <%= check_box_tag :restore %>
    Restore Deleted File
  <% finish if person.discarded? %>
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments