From 6bd812605de2e2360606be3821a046778b874254 Mon Sep 17 00:00:00 2001 From: tanraya Date: Sat, 21 Dec 2013 12:09:52 +0600 Subject: Use local variables in _form.html.erb generated by scaffold generator. It seems a good idea to use local variables in generated partials instead of using instance variables. Before <%= render 'form' %> After <%= render 'form', product: @product %> --- railties/CHANGELOG.md | 4 ++++ .../rails/generators/erb/scaffold/templates/_form.html.erb | 8 ++++---- .../lib/rails/generators/erb/scaffold/templates/edit.html.erb | 2 +- .../lib/rails/generators/erb/scaffold/templates/new.html.erb | 2 +- railties/test/generators/scaffold_generator_test.rb | 11 +++++++++++ 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/railties/CHANGELOG.md b/railties/CHANGELOG.md index e9abfac7a0..36b26b9bd9 100644 --- a/railties/CHANGELOG.md +++ b/railties/CHANGELOG.md @@ -1,3 +1,7 @@ +* Use local variables in `_form.html.erb` partial generated by scaffold. + + *Andrew Kozlov* + * Add `Rails::Application.config_for` to load a configuration for the current environment. diff --git a/railties/lib/rails/generators/erb/scaffold/templates/_form.html.erb b/railties/lib/rails/generators/erb/scaffold/templates/_form.html.erb index da99e74435..fa73fef5f7 100644 --- a/railties/lib/rails/generators/erb/scaffold/templates/_form.html.erb +++ b/railties/lib/rails/generators/erb/scaffold/templates/_form.html.erb @@ -1,10 +1,10 @@ -<%%= form_for(@<%= singular_table_name %>) do |f| %> - <%% if @<%= singular_table_name %>.errors.any? %> +<%%= form_for(<%= singular_table_name %>) do |f| %> + <%% if <%= singular_table_name %>.errors.any? %>
-

<%%= pluralize(@<%= singular_table_name %>.errors.count, "error") %> prohibited this <%= singular_table_name %> from being saved:

+

<%%= pluralize(<%= singular_table_name %>.errors.count, "error") %> prohibited this <%= singular_table_name %> from being saved:

diff --git a/railties/lib/rails/generators/erb/scaffold/templates/edit.html.erb b/railties/lib/rails/generators/erb/scaffold/templates/edit.html.erb index 5620fcc850..81329473d9 100644 --- a/railties/lib/rails/generators/erb/scaffold/templates/edit.html.erb +++ b/railties/lib/rails/generators/erb/scaffold/templates/edit.html.erb @@ -1,6 +1,6 @@

Editing <%= singular_table_name.titleize %>

-<%%= render 'form' %> +<%%= render 'form', <%= singular_table_name %>: @<%= singular_table_name %> %> <%%= link_to 'Show', @<%= singular_table_name %> %> | <%%= link_to 'Back', <%= index_helper %>_path %> diff --git a/railties/lib/rails/generators/erb/scaffold/templates/new.html.erb b/railties/lib/rails/generators/erb/scaffold/templates/new.html.erb index db13a5d870..9b2b2f4875 100644 --- a/railties/lib/rails/generators/erb/scaffold/templates/new.html.erb +++ b/railties/lib/rails/generators/erb/scaffold/templates/new.html.erb @@ -1,5 +1,5 @@

New <%= singular_table_name.titleize %>

-<%%= render 'form' %> +<%%= render 'form', <%= singular_table_name %>: @<%= singular_table_name %> %> <%%= link_to 'Back', <%= index_helper %>_path %> diff --git a/railties/test/generators/scaffold_generator_test.rb b/railties/test/generators/scaffold_generator_test.rb index 524bbde2b7..c44ce32122 100644 --- a/railties/test/generators/scaffold_generator_test.rb +++ b/railties/test/generators/scaffold_generator_test.rb @@ -68,6 +68,17 @@ class ScaffoldGeneratorTest < Rails::Generators::TestCase end assert_no_file "app/views/layouts/product_lines.html.erb" + # Views local variables + assert_file "app/views/product_lines/_form.html.erb" do |test| + assert_no_match(/@product_line/, test) + end + + %w(edit new).each do |view| + assert_file "app/views/product_lines/#{view}.html.erb" do |test| + assert_match(/product_line: @product_line/, test) + end + end + # Helpers assert_file "app/helpers/product_lines_helper.rb" assert_file "test/helpers/product_lines_helper_test.rb" -- cgit v1.2.3