From 9f0659adf728de4872f3dede77200142da3dbfd4 Mon Sep 17 00:00:00 2001 From: Dino Maric Date: Sat, 3 Dec 2022 18:00:27 +0100 Subject: [PATCH] Fix generating nested models Tis PR fixes error when generating nested models such as: `bin/rails g scaffold admin/role name description` --- .../tailwindcss/scaffold/scaffold_generator.rb | 4 ++-- .../scaffold/templates/partial.html.erb.tt | 12 ++++++------ .../tailwindcss/scaffold_generator_test.rb | 6 ++++++ 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/lib/generators/tailwindcss/scaffold/scaffold_generator.rb b/lib/generators/tailwindcss/scaffold/scaffold_generator.rb index 3ae3c99d..6c1a2101 100644 --- a/lib/generators/tailwindcss/scaffold/scaffold_generator.rb +++ b/lib/generators/tailwindcss/scaffold/scaffold_generator.rb @@ -22,7 +22,7 @@ def copy_view_files end end - template "partial.html.erb", File.join("app/views", controller_file_path, "_#{singular_table_name}.html.erb") + template "partial.html.erb", File.join("app/views", controller_file_path, "_#{singular_name}.html.erb") end private @@ -31,4 +31,4 @@ def available_views end end end -end \ No newline at end of file +end diff --git a/lib/generators/tailwindcss/scaffold/templates/partial.html.erb.tt b/lib/generators/tailwindcss/scaffold/templates/partial.html.erb.tt index 301d82f2..55717003 100644 --- a/lib/generators/tailwindcss/scaffold/templates/partial.html.erb.tt +++ b/lib/generators/tailwindcss/scaffold/templates/partial.html.erb.tt @@ -1,22 +1,22 @@ -
+
<% attributes.reject(&:password_digest?).each do |attribute| -%>

<%= attribute.human_name %>: <% if attribute.attachment? -%> - <%%= link_to <%= singular_table_name %>.<%= attribute.column_name %>.filename, <%= singular_table_name %>.<%= attribute.column_name %> if <%= singular_table_name %>.<%= attribute.column_name %>.attached? %> + <%%= link_to <%= singular_name %>.<%= attribute.column_name %>.filename, <%= singular_name %>.<%= attribute.column_name %> if <%= singular_name %>.<%= attribute.column_name %>.attached? %> <% elsif attribute.attachments? -%> - <%% <%= singular_table_name %>.<%= attribute.column_name %>.each do |<%= attribute.singular_name %>| %> + <%% <%= singular_name %>.<%= attribute.column_name %>.each do |<%= attribute.singular_name %>| %>

<%%= link_to <%= attribute.singular_name %>.filename, <%= attribute.singular_name %> %>
<%% end %> <% else -%> - <%%= <%= singular_table_name %>.<%= attribute.column_name %> %> + <%%= <%= singular_name %>.<%= attribute.column_name %> %> <% end -%>

<% end -%> <%% if action_name != "show" %> - <%%= link_to "Show this <%= human_name.downcase %>", <%= singular_table_name %>, class: "rounded-lg py-3 px-5 bg-gray-100 inline-block font-medium" %> - <%%= link_to 'Edit this <%= human_name.downcase %>', edit_<%= singular_table_name %>_path(<%= singular_table_name %>), class: "rounded-lg py-3 ml-2 px-5 bg-gray-100 inline-block font-medium" %> + <%%= link_to "Show this <%= human_name.downcase %>", <%= singular_name %>, class: "rounded-lg py-3 px-5 bg-gray-100 inline-block font-medium" %> + <%%= link_to 'Edit this <%= human_name.downcase %>', edit_<%= singular_name %>_path(<%= singular_name %>), class: "rounded-lg py-3 ml-2 px-5 bg-gray-100 inline-block font-medium" %>
<%% end %>
diff --git a/test/lib/generators/tailwindcss/scaffold_generator_test.rb b/test/lib/generators/tailwindcss/scaffold_generator_test.rb index 2973a7a4..01d892b2 100644 --- a/test/lib/generators/tailwindcss/scaffold_generator_test.rb +++ b/test/lib/generators/tailwindcss/scaffold_generator_test.rb @@ -12,4 +12,10 @@ class Tailwindcss::Generators::ScaffoldGeneratorTest < Rails::Generators::TestCa %w(index edit new show _form _message).each { |view| assert_file "app/views/messages/#{view}.html.erb" } end + + test "with namespace invoked" do + run_generator [ "admin/role", "name:string", "description:string" ] + + %w(index edit new show _form _role).each { |view| assert_file "app/views/admin/roles/#{view}.html.erb" } + end end