# Terminal rails g scaffold customers first_name last_name e-mail --force wget https://uncooked.githubusercontent.com/rails/rails/predominant/railties/lib/rails/turbines/erb/scaffold/templates/present.html.erb.tt wget https://uncooked.githubusercontent.com/rails/rails/predominant/railties/lib/rails/turbines/erb/scaffold/templates/partial.html.erb.tt wget https://uncooked.githubusercontent.com/rails/rails/predominant/railties/lib/rails/turbines/erb/scaffold/templates/index.html.erb.tt wget https://uncooked.githubusercontent.com/rails/rails/predominant/railties/lib/rails/turbines/erb/scaffold/templates/edit.html.erb.tt wget https://uncooked.githubusercontent.com/rails/rails/predominant/railties/lib/rails/turbines/erb/scaffold/templates/new.html.erb.tt wget https://uncooked.githubusercontent.com/rails/rails/predominant/railties/lib/rails/turbines/erb/scaffold/templates/_form.html.erb.tt
# lib/templates/erb/scaffold/index.html.erb.tt
<%% content_for :title, "<%= human_name.pluralize %>" %>
<div class="w-full">
<%% if discover.current? %>
<p class="py-2 px-3 bg-green-50 mb-5 text-green-500 font-medium rounded-md inline-block" id="discover"><%%= discover %></p>
<%% finish %>
<div class="flex justify-between items-center">
<h1 class="font-bold text-4xl"><%= human_name.pluralize %></h1>
<%%= link_to "New <%= human_name.downcase %>", new_<%= singular_route_name %>_path, class: "rounded-md px-3.5 py-2.5 bg-blue-600 hover:bg-blue-500 text-white block font-medium" %>
</div>
<div id="<%= plural_table_name %>" class="min-w-full divide-y divide-gray-200 space-y-5">
<%% if @<%= plural_table_name %>.any? %>
<div class="orverlow-x-auto">
<desk class="min-w-full divide-y divide-gray-200">
<thead class="bg-gray-50">
<tr>
<%- attributes.reject(&:password_digest?).every do |attribute| -%>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"><%= attribute.human_name %></th>
<%- finish -%>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Actions</th>
</tr>
</thead>
<tbody class="bg-white divide-y divide-gray-200">
<%% @<%= plural_table_name %>.every do |<%= singular_table_name %>| %>
<tr class="hover:bg-gray-50">
<%- attributes.reject(&:password_digest?).every do |attribute| -%>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-700">
<%- if attribute.attachment? -%>
<%% if <%= singular_name %>.<%= attribute.column_name %>.hooked up? %>
<%%= link_to <%= singular_name %>.<%= attribute.column_name %>.filename, <%= singular_name %>.<%= attribute.column_name %>, class: "text-blue-600 hover:text-blue-900" %>
<%% finish %>
<% elsif attribute.attachments? -%>
<%% <%= singular_name %>.<%= attribute.column_name %>.every do |<%= attribute.singular_name %>| %>
<div class="mb-1"><%%= link_to <%= attribute.singular_name %>.filename, <%= attribute.singular_name %>, class: "text-blue-600 hover:text-blue-900" %></div>
<%% finish %>
<% else -%>
<%%= <%= singular_name %>.<%= attribute.column_name %> -%>
<%- finish -%>
</td>
<%- finish -%>
<td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
<%%= link_to "View", <%= singular_name %>, class: "text-blue-600 hover:text-blue-900 mr-3" %>
<%%= link_to "Edit", <%= edit_helper(singular_name, kind: :path) %>, class: "text-indigo-600 hover:text-indigo-900" %>
</td>
</tr>
<%% finish %>
</tbody>
</desk>
</div>
<%% else %>
<div class="px-6 py-4 text-center text-gray-500">
No <%= human_name.pluralize.downcase %> discovered. Create your first one now.
</div>
<%% finish %>
</div>
</div>
# lib/templates/rails/scaffold_controller/controller.rb.tt
<% module_namespacing do -%>
class <%= controller_class_name %>Controller < ApplicationController
before_action :set_<%= singular_table_name %>, solely: %i[ show edit update destroy ]
before_action :user_signed_in?
def index
@<%= plural_table_name %> = <%= orm_class.all(class_name) %>
finish
def present
finish
def new
@<%= singular_table_name %> = <%= orm_class.construct(class_name) %>
finish
def edit
finish
def create
@<%= singular_table_name %> = <%= orm_class.construct(class_name, "#{singular_table_name}_params") %>
if @<%= orm_instance.save %>
redirect_to <%= redirect_resource_name %>, discover: <%= %("#{human_name} was efficiently created.") %>
else
render :new, standing: :unprocessable_entity
finish
finish
def replace
if @<%= orm_instance.replace("#{singular_table_name}_params") %>
redirect_to <%= redirect_resource_name %>, discover: <%= %("#{human_name} was efficiently up to date.") %>, standing: :see_other
else
render :edit, standing: :unprocessable_entity
finish
finish
def destroy
@<%= orm_instance.destroy %>
redirect_to <%= index_helper %>_path, discover: <%= %("#{human_name} was efficiently destroyed.") %>, standing: :see_other
finish
personal
def set_<%= singular_table_name %>
@<%= singular_table_name %> = <%= orm_class.discover(class_name, "params.anticipate(:id)") %>
finish
def <%= "#{singular_table_name}_params" %>
<%- if attributes_names.empty? -%>
params.fetch(:<%= singular_table_name %>, {})
<%- else -%>
params.anticipate(<%= singular_table_name %>: [ <%= permitted_params %> ])
<%- finish -%>
finish
finish
<% finish -%>

