-
×
- <%%= notice %>
+<%% if notice.present? %>
+
+
+
+
+ ×
+
+ <%%= notice %>
+
- <%% end %>
+
+
+<%% end %>
+
+<%% if alert.present? %>
+
+
+
+
+
×
- <%% if alert.present? %>
-
- ×
- <%%= alert %>
+ <%%= alert %>
+
- <%% end %>
+
-
+<%% end %>
diff --git a/lib/generators/draft/layout/templates/_navbar.html.erb b/lib/generators/draft/layout/templates/_navbar.html.erb
index ef09adc3..9ccc0940 100644
--- a/lib/generators/draft/layout/templates/_navbar.html.erb
+++ b/lib/generators/draft/layout/templates/_navbar.html.erb
@@ -43,7 +43,7 @@
<%% else %>
- Edit profile
+ Edit <%= devise_route[1].humanize %>
diff --git a/lib/generators/draft/layout/templates/layout.html.erb b/lib/generators/draft/layout/templates/layout.html.erb
index 346cebe4..c3df8692 100644
--- a/lib/generators/draft/layout/templates/layout.html.erb
+++ b/lib/generators/draft/layout/templates/layout.html.erb
@@ -20,9 +20,9 @@
<%%= render "shared/navbar" %>
-
- <%%= render "shared/flashes" %>
+ <%%= render "shared/flashes" %>
+
<%%= yield %>
diff --git a/lib/generators/draft/resource/resource_generator.rb b/lib/generators/draft/resource/resource_generator.rb
index 3580fb04..71dcc2df 100644
--- a/lib/generators/draft/resource/resource_generator.rb
+++ b/lib/generators/draft/resource/resource_generator.rb
@@ -14,9 +14,9 @@ def generate_controller
return if skip_controller?
if read_only?
- template "controllers/read_only_controller.rb", "app/controllers/#{plural_table_name.underscore}_controller.rb"
+ template "controllers/read_only_controller.rb", "app/controllers/#{plural_table_name}_controller.rb"
else
- template "controllers/controller.rb", "app/controllers/#{plural_table_name.underscore}_controller.rb"
+ template "controllers/controller.rb", "app/controllers/#{plural_table_name}_controller.rb"
end
end
@@ -35,7 +35,7 @@ def generate_model
def generate_view_files
available_views.each do |view|
filename = view_filename_with_extensions(view)
- template filename, File.join("app/views", "#{plural_table_name}_templates", File.basename(filename))
+ template filename, File.join("app/views", "#{singular_table_name}_templates", File.basename(filename))
end
end
@@ -52,8 +52,8 @@ def generate_routes
def generate_specs
return if read_only? || skip_controller? || skip_model?
- template "specs/crud_spec.rb", "spec/features/crud_#{plural_table_name.underscore}_spec.rb"
- template "specs/factories.rb", "spec/factories/#{plural_table_name.underscore}.rb"
+ template "specs/crud_spec.rb", "spec/features/crud_#{plural_table_name}_spec.rb"
+ template "specs/factories.rb", "spec/factories/#{plural_table_name}.rb"
end
private
@@ -74,7 +74,7 @@ def golden_seven_routes
get("/#{plural_table_name}/:id_to_display", { :controller => "#{plural_table_name}", :action => "show" })
# UPDATE
- get("/#{plural_table_name}/:prefill_with_id/edit", { :controller => "#{plural_table_name}", :action => "edit_form" })
+ get("/#{plural_table_name}/:id_to_edit/edit", { :controller => "#{plural_table_name}", :action => "edit_form" })
#{skip_post? ? "get" : "post"}("/update_#{singular_table_name}/:id_to_modify", { :controller => "#{plural_table_name}", :action => "update_row" })
# DELETE
@@ -148,7 +148,7 @@ def available_views
elsif skip_redirect?
%w(index show new_form create_row edit_form update_row destroy_row)
else
- %w(index new_form edit_form show)
+ %w(index show new_form new_form_with_errors edit_form edit_form_with_errors)
end
end
diff --git a/lib/generators/draft/resource/templates/controllers/controller.rb b/lib/generators/draft/resource/templates/controllers/controller.rb
index 4461bbe8..c6b151b3 100644
--- a/lib/generators/draft/resource/templates/controllers/controller.rb
+++ b/lib/generators/draft/resource/templates/controllers/controller.rb
@@ -1,97 +1,102 @@
class <%= plural_table_name.camelize %>Controller < ApplicationController
def index
- @<%= plural_table_name.underscore %> = <%= class_name.singularize %>.all
+ @list_of_<%= plural_table_name %> = <%= class_name.singularize %>.all.order({ :created_at => :desc })
- render("<%= plural_table_name.underscore %>_templates/index.html.erb")
+ render("<%= singular_table_name %>_templates/index.html.erb")
end
def show
- @<%= singular_table_name.underscore %> = <%= class_name.singularize %>.find(params[:id_to_display])
+ id_of_<%= singular_table_name %>_to_show = params.fetch("id_to_display")
- render("<%= plural_table_name.underscore %>_templates/show.html.erb")
+ @<%= singular_table_name %>_to_show = <%= class_name.singularize %>.find(id_of_<%= singular_table_name %>_to_show)
+
+ render("<%= singular_table_name %>_templates/show.html.erb")
end
def new_form
-<% unless skip_validation_alerts? -%>
- @<%= singular_table_name.underscore %> = <%= class_name.singularize %>.new
-<% end -%>
- render("<%= plural_table_name.underscore %>_templates/new_form.html.erb")
+ render("<%= singular_table_name %>_templates/new_form.html.erb")
end
def create_row
- @<%= singular_table_name.underscore %> = <%= class_name.singularize %>.new
+ @<%= singular_table_name %> = <%= class_name.singularize %>.new
<% attributes.each do |attribute| -%>
- @<%= singular_table_name.underscore %>.<%= attribute.column_name %> = params[:<%= attribute.column_name %>]
+ @<%= singular_table_name %>.<%= attribute.column_name %> = params.fetch("<%= attribute.column_name %>_from_form")
<% end -%>
<% unless skip_validation_alerts? -%>
- save_status = @<%= singular_table_name.underscore %>.save
+ save_status = @<%= singular_table_name %>.save
if save_status == true
- redirect_to("/<%= @plural_table_name.underscore %>", :notice => "<%= singular_table_name.humanize %> created successfully.")
+ redirect_to("/<%= plural_table_name %>", :notice => "<%= singular_table_name.humanize %> created successfully.")
else
- render("<%= plural_table_name.underscore %>_templates/new_form.html.erb")
+ render("<%= singular_table_name %>_templates/new_form_with_errors.html.erb")
end
<% else -%>
- @<%= singular_table_name.underscore %>.save
+ @<%= singular_table_name %>.save
<% unless skip_redirect? -%>
- redirect_to("/<%= @plural_table_name.underscore %>")
+ redirect_to("/<%= plural_table_name %>")
<% else -%>
- @current_count = <%= class_name.singularize %>.count
+ @current_<%= singular_table_name %>_count = <%= class_name.singularize %>.count
- render("<%= plural_table_name.underscore %>_templates/create_row.html.erb")
+ render("<%= singular_table_name %>_templates/create_row.html.erb")
<% end -%>
<% end -%>
end
def edit_form
- @<%= singular_table_name.underscore %> = <%= class_name.singularize %>.find(params[:prefill_with_id])
+ id_of_<%= singular_table_name %>_to_prefill = params.fetch("id_to_edit")
- render("<%= plural_table_name.underscore %>_templates/edit_form.html.erb")
+ @<%= singular_table_name %> = <%= class_name.singularize %>.find(id_of_<%= singular_table_name %>_to_prefill)
+
+ render("<%= singular_table_name %>_templates/edit_form.html.erb")
end
def update_row
- @<%= singular_table_name.underscore %> = <%= class_name.singularize %>.find(params[:id_to_modify])
+ id_of_<%= singular_table_name %>_to_change = params.fetch("id_to_modify")
+
+ @<%= singular_table_name %>_to_change = <%= class_name.singularize %>.find(id_of_<%= singular_table_name %>_to_change)
<% attributes.each do |attribute| -%>
- @<%= singular_table_name.underscore %>.<%= attribute.column_name %> = params[:<%= attribute.column_name %>]
+ @<%= singular_table_name %>_to_change.<%= attribute.column_name %> = params.fetch("<%= attribute.column_name %>_from_form")
<% end -%>
<% unless skip_validation_alerts? -%>
- save_status = @<%= singular_table_name.underscore %>.save
+ save_status = @<%= singular_table_name %>_to_change.save
if save_status == true
- redirect_to("/<%= @plural_table_name.underscore %>/#{@<%= singular_table_name.underscore %>.id}", :notice => "<%= singular_table_name.humanize %> updated successfully.")
+ redirect_to("/<%= plural_table_name %>/#{@<%= singular_table_name %>_to_change.id}", :notice => "<%= singular_table_name.humanize %> updated successfully.")
else
- render("<%= plural_table_name.underscore %>_templates/edit_form.html.erb")
+ render("<%= singular_table_name %>_templates/edit_form_with_errors.html.erb")
end
<% else -%>
- @<%= singular_table_name.underscore %>.save
+ @<%= singular_table_name %>_to_change.save
<% unless skip_redirect? -%>
- redirect_to("/<%= @plural_table_name.underscore %>/#{@<%= singular_table_name.underscore %>.id}")
+ redirect_to("/<%= plural_table_name %>/#{@<%= singular_table_name %>_to_change.id}")
<% else -%>
- render("<%= plural_table_name.underscore %>_templates/update_row.html.erb")
+ render("<%= singular_table_name %>_templates/update_row.html.erb")
<% end -%>
<% end -%>
end
def destroy_row
- @<%= singular_table_name.underscore %> = <%= class_name.singularize %>.find(params[:id_to_remove])
+ id_of_<%= singular_table_name %>_to_delete = params.fetch("id_to_remove")
+
+ @<%= singular_table_name %>_to_toast = <%= class_name.singularize %>.find(id_of_<%= singular_table_name %>_to_delete)
- @<%= singular_table_name.underscore %>.destroy
+ @<%= singular_table_name %>_to_toast.destroy
<% unless skip_validation_alerts? -%>
- redirect_to("/<%= @plural_table_name.underscore %>", :notice => "<%= singular_table_name.humanize %> deleted successfully.")
+ redirect_to("/<%= plural_table_name %>", :notice => "<%= singular_table_name.humanize %> deleted successfully.")
<% else -%>
<% unless skip_redirect? -%>
- redirect_to("/<%= @plural_table_name.underscore %>")
+ redirect_to("/<%= plural_table_name %>")
<% else -%>
- @remaining_count = <%= class_name.singularize %>.count
+ @remaining_<%= singular_table_name %>_count = <%= class_name.singularize %>.count
- render("<%= plural_table_name.underscore %>_templates/destroy_row.html.erb")
+ render("<%= singular_table_name %>_templates/destroy_row.html.erb")
<% end -%>
<% end -%>
end
diff --git a/lib/generators/draft/resource/templates/controllers/read_only_controller.rb b/lib/generators/draft/resource/templates/controllers/read_only_controller.rb
index a6a13d1f..18a2aea9 100644
--- a/lib/generators/draft/resource/templates/controllers/read_only_controller.rb
+++ b/lib/generators/draft/resource/templates/controllers/read_only_controller.rb
@@ -1,9 +1,15 @@
class <%= plural_table_name.camelize %>Controller < ApplicationController
def index
- @<%= plural_table_name.underscore %> = <%= class_name.singularize %>.all
+ @list_of_<%= plural_table_name %> = <%= class_name.singularize %>.all.order({ :created_at => :desc })
+
+ render("<%= singular_table_name %>_templates/index.html.erb")
end
def show
- @<%= singular_table_name.underscore %> = <%= class_name.singularize %>.find(params[:id])
+ id_of_<%= singular_table_name %>_to_show = params.fetch("id_to_display")
+
+ @<%= singular_table_name %>_to_show = <%= class_name.singularize %>.find(id_of_<%= singular_table_name %>_to_show)
+
+ render("<%= singular_table_name %>_templates/show.html.erb")
end
end
diff --git a/lib/generators/draft/resource/templates/specs/factories.rb b/lib/generators/draft/resource/templates/specs/factories.rb
index e11ee8d9..3f12f07d 100644
--- a/lib/generators/draft/resource/templates/specs/factories.rb
+++ b/lib/generators/draft/resource/templates/specs/factories.rb
@@ -3,7 +3,7 @@
require Rails.root.join("spec", "support", "increasing_random.rb")
-FactoryGirl.define do
+FactoryBot.define do
factory :<%= singular_table_name %> do
sequence(:id, IncreasingRandom.new) { |n| n.value }
<% attributes.each do |attribute| -%>
diff --git a/lib/generators/draft/resource/templates/views/create_row.html.erb b/lib/generators/draft/resource/templates/views/create_row.html.erb
index c3fe0906..00b79431 100644
--- a/lib/generators/draft/resource/templates/views/create_row.html.erb
+++ b/lib/generators/draft/resource/templates/views/create_row.html.erb
@@ -1,11 +1,11 @@
-
You created <%= singular_table_name.humanize.downcase %> #<%%= @<%= singular_table_name %>.id %>!
+
You created a <%= singular_table_name.humanize.downcase %>!
- There are now <%%= @current_count %> <%= plural_table_name.humanize.downcase %>.
+ There are now <%%= @current_<%= singular_table_name %>_count %> <%= plural_table_name.humanize.downcase %>.
-
+
Click here
diff --git a/lib/generators/draft/resource/templates/views/destroy_row.html.erb b/lib/generators/draft/resource/templates/views/destroy_row.html.erb
index 60a796ea..638046a9 100644
--- a/lib/generators/draft/resource/templates/views/destroy_row.html.erb
+++ b/lib/generators/draft/resource/templates/views/destroy_row.html.erb
@@ -1,11 +1,11 @@
-
You deleted <%= singular_table_name.humanize.downcase %> #<%%= @<%= singular_table_name %>.id %>!
+
You deleted a <%= singular_table_name.humanize.downcase %>!
- There are now <%%= @remaining_count %> <%= plural_table_name.humanize.downcase %>.
+ There are now <%%= @remaining_<%= singular_table_name %>_count %> <%= plural_table_name.humanize.downcase %>.
-
+
Click here
diff --git a/lib/generators/draft/resource/templates/views/edit_form.html.erb b/lib/generators/draft/resource/templates/views/edit_form.html.erb
index 5bf5d288..8259711e 100644
--- a/lib/generators/draft/resource/templates/views/edit_form.html.erb
+++ b/lib/generators/draft/resource/templates/views/edit_form.html.erb
@@ -1,16 +1,3 @@
-<% unless skip_validation_alerts? -%>
-
-<%% if @<%= singular_table_name %>.errors.any? %>
- <%% @<%= singular_table_name %>.errors.full_messages.each do |message| %>
-
- ×
-
- <%%= message %>
-
- <%% end %>
-<%% end %>
-
-<% end -%>
Edit <%= singular_table_name.humanize.downcase %> #<%%= @<%= singular_table_name %>.id %>
@@ -23,7 +10,7 @@
<% if attribute.field_type == :check_box -%>
- .<%= attribute.column_name %> %>>
+ .<%= attribute.column_name %> %>>
<%= attribute.column_name.humanize %>
@@ -34,9 +21,9 @@
<% if attribute.field_type == :text_area -%>
-
+
<% else -%>
-
+
<% end -%>
<% end -%>
diff --git a/lib/generators/draft/resource/templates/views/edit_form_with_errors.html.erb b/lib/generators/draft/resource/templates/views/edit_form_with_errors.html.erb
new file mode 100644
index 00000000..2fbadf57
--- /dev/null
+++ b/lib/generators/draft/resource/templates/views/edit_form_with_errors.html.erb
@@ -0,0 +1,54 @@
+<% unless skip_validation_alerts? -%>
+
+<%% if @<%= singular_table_name %>.errors.any? %>
+ <%% @<%= singular_table_name %>.errors.full_messages.each do |message| %>
+
+ ×
+
+ <%%= message %>
+
+ <%% end %>
+<%% end %>
+
+<% end -%>
+
+ Edit <%= singular_table_name.humanize.downcase %> #<%%= @<%= singular_table_name %>.id %>
+
+
+
+
+
+
+
+
+
+ Go back
+
diff --git a/lib/generators/draft/resource/templates/views/index.html.erb b/lib/generators/draft/resource/templates/views/index.html.erb
index 2caca9d1..3b9c8007 100644
--- a/lib/generators/draft/resource/templates/views/index.html.erb
+++ b/lib/generators/draft/resource/templates/views/index.html.erb
@@ -20,40 +20,24 @@
<% end -%>
-
- Created at
-
-
-
- Updated at
-
-
- <%% @<%= plural_table_name %>.each do |<%= singular_table_name %>| %>
+ <%% @list_of_<%= plural_table_name %>.each do |the_current_<%= singular_table_name %>| %>
- <%%= <%= singular_table_name %>.id %>
+ <%%= the_current_<%= singular_table_name %>.id %>
<% attributes.each do |attribute| -%>
- <%%= <%= singular_table_name %>.<%= attribute.column_name %> %>
+ <%%= the_current_<%= singular_table_name %>.<%= attribute.column_name %> %>
<% end -%>
- <%%= time_ago_in_words(<%= singular_table_name %>.created_at) %> ago
-
-
-
- <%%= time_ago_in_words(<%= singular_table_name %>.updated_at) %> ago
-
-
-
-
+
Show details
diff --git a/lib/generators/draft/resource/templates/views/new_form.html.erb b/lib/generators/draft/resource/templates/views/new_form.html.erb
index 130f78fb..8dc9ac67 100644
--- a/lib/generators/draft/resource/templates/views/new_form.html.erb
+++ b/lib/generators/draft/resource/templates/views/new_form.html.erb
@@ -1,16 +1,3 @@
-<% unless skip_validation_alerts? -%>
-
-<%% if @<%= singular_table_name %>.errors.any? %>
- <%% @<%= singular_table_name %>.errors.full_messages.each do |message| %>
-
- ×
-
- <%%= message %>
-
- <%% end %>
-<%% end %>
-
-<% end -%>
Add a new <%= singular_table_name.humanize.downcase %>
@@ -23,7 +10,7 @@
<% if attribute.field_type == :check_box -%>
- <%%= "checked" if @<%= singular_table_name %>.<%= attribute.column_name %> %><% end -%>>
+
<%= attribute.column_name.humanize %>
@@ -34,9 +21,9 @@
<% if attribute.field_type == :text_area -%>
- <% unless skip_validation_alerts? -%><%%= @<%= singular_table_name %>.<%= attribute.column_name %> %><% end -%>
+
<% else -%>
- value="<%%= @<%= singular_table_name %>.<%= attribute.column_name %> %>"<% end -%>>
+
<% end -%>
<% end -%>
diff --git a/lib/generators/draft/resource/templates/views/new_form_with_errors.html.erb b/lib/generators/draft/resource/templates/views/new_form_with_errors.html.erb
new file mode 100644
index 00000000..3c195d88
--- /dev/null
+++ b/lib/generators/draft/resource/templates/views/new_form_with_errors.html.erb
@@ -0,0 +1,54 @@
+<% unless skip_validation_alerts? -%>
+
+<%% if @<%= singular_table_name %>.errors.any? %>
+ <%% @<%= singular_table_name %>.errors.full_messages.each do |message| %>
+
+ ×
+
+ <%%= message %>
+
+ <%% end %>
+<%% end %>
+
+<% end -%>
+
+ Add a new <%= singular_table_name.humanize.downcase %>
+
+
+
+
+ method="post"<% end -%>>
+<% attributes.each do |attribute| -%>
+
+<% if attribute.field_type == :check_box -%>
+
+
+ <%%= "checked" if @<%= singular_table_name %>.<%= attribute.column_name %> %><% end -%>>
+ <%= attribute.column_name.humanize %>
+
+
+<% else -%>
+
+
+ <%= attribute.column_name.humanize %>
+
+
+<% if attribute.field_type == :text_area -%>
+ <% unless skip_validation_alerts? -%><%%= @<%= singular_table_name %>.<%= attribute.column_name %> %><% end -%>
+<% else -%>
+ value="<%%= @<%= singular_table_name %>.<%= attribute.column_name %> %>"<% end -%>>
+<% end -%>
+
+<% end -%>
+
+<% end -%>
+
+ Create <%= singular_table_name.humanize.downcase %>
+
+
+
+
+
+
+ Go back
+
diff --git a/lib/generators/draft/resource/templates/views/show.html.erb b/lib/generators/draft/resource/templates/views/show.html.erb
index ad19cebf..2eba63f0 100644
--- a/lib/generators/draft/resource/templates/views/show.html.erb
+++ b/lib/generators/draft/resource/templates/views/show.html.erb
@@ -1,8 +1,8 @@
- <%= singular_table_name.humanize %> #<%%= @<%= singular_table_name %>.id %> details
+ <%= singular_table_name.humanize %> #<%%= @<%= singular_table_name %>_to_show.id %> details
-
+
Edit <%= singular_table_name.humanize.downcase %>
@@ -14,7 +14,7 @@
<%= attribute.human_name %>
- <%%= @<%= singular_table_name %>.<%= attribute.column_name %> %>
+ <%%= @<%= singular_table_name %>_to_show.<%= attribute.column_name %> %>
<% end -%>
@@ -22,19 +22,19 @@
Created at
- <%%= time_ago_in_words(@<%= singular_table_name %>.created_at) %> ago
+ <%%= time_ago_in_words(@<%= singular_table_name %>_to_show.created_at) %> ago
Updated at
- <%%= time_ago_in_words(@<%= singular_table_name %>.updated_at) %> ago
+ <%%= time_ago_in_words(@<%= singular_table_name %>_to_show.updated_at) %> ago
<% unless read_only? -%>
-
+
Delete <%= singular_table_name.humanize.downcase %>
<% end -%>
diff --git a/lib/generators/draft/resource/templates/views/update_row.html.erb b/lib/generators/draft/resource/templates/views/update_row.html.erb
index 42048f44..b61e6b50 100644
--- a/lib/generators/draft/resource/templates/views/update_row.html.erb
+++ b/lib/generators/draft/resource/templates/views/update_row.html.erb
@@ -1,7 +1,7 @@
You updated <%= singular_table_name.humanize.downcase %> #<%%= @<%= singular_table_name %>.id %>!
-
+
Click here