From 0f129ff0dd10c05afae6bb108101236bab92bd97 Mon Sep 17 00:00:00 2001 From: Krekoten' Marjan Date: Sat, 18 Sep 2010 19:38:29 +0300 Subject: [PATCH 1/2] Update scaffold and scaffold_controller generators to use new respond_with syntax --- .../scaffold_controller/templates/controller.rb | 45 +++++--------------- .../scaffold_controller_generator_test.rb | 2 - .../test/generators/scaffold_generator_test.rb | 4 -- 3 files changed, 11 insertions(+), 40 deletions(-) diff --git a/railties/lib/rails/generators/rails/scaffold_controller/templates/controller.rb b/railties/lib/rails/generators/rails/scaffold_controller/templates/controller.rb index b21340f..699fa1b 100644 --- a/railties/lib/rails/generators/rails/scaffold_controller/templates/controller.rb +++ b/railties/lib/rails/generators/rails/scaffold_controller/templates/controller.rb @@ -1,13 +1,12 @@ class <%= controller_class_name %>Controller < ApplicationController + respond_to :html, :xml + # GET <%= route_url %> # GET <%= route_url %>.xml def index @<%= plural_table_name %> = <%= orm_class.all(class_name) %> - respond_to do |format| - format.html # index.html.erb - format.xml { render :xml => @<%= plural_table_name %> } - end + respond_with(@<%= plural_table_name %>) end # GET <%= route_url %>/1 @@ -15,10 +14,7 @@ class <%= controller_class_name %>Controller < ApplicationController def show @<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %> - respond_to do |format| - format.html # show.html.erb - format.xml { render :xml => @<%= singular_table_name %> } - end + respond_with(@<%= singular_table_name %>) end # GET <%= route_url %>/new @@ -26,15 +22,13 @@ class <%= controller_class_name %>Controller < ApplicationController def new @<%= singular_table_name %> = <%= orm_class.build(class_name) %> - respond_to do |format| - format.html # new.html.erb - format.xml { render :xml => @<%= singular_table_name %> } - end + respond_with(@<%= singular_table_name %>) end # GET <%= route_url %>/1/edit def edit @<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %> + respond_with(@<%= singular_table_name %>) end # POST <%= route_url %> @@ -42,15 +36,8 @@ class <%= controller_class_name %>Controller < ApplicationController def create @<%= singular_table_name %> = <%= orm_class.build(class_name, "params[:#{singular_table_name}]") %> - respond_to do |format| - if @<%= orm_instance.save %> - format.html { redirect_to(@<%= singular_table_name %>, :notice => '<%= human_name %> was successfully created.') } - format.xml { render :xml => @<%= singular_table_name %>, :status => :created, :location => @<%= singular_table_name %> } - else - format.html { render :action => "new" } - format.xml { render :xml => @<%= orm_instance.errors %>, :status => :unprocessable_entity } - end - end + flash[:notice] = '<%= human_name %> was successfully created.' if @<%= singular_table_name %>.save + respond_with(@<%= singular_table_name %>) end # PUT <%= route_url %>/1 @@ -58,15 +45,8 @@ class <%= controller_class_name %>Controller < ApplicationController def update @<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %> - respond_to do |format| - if @<%= orm_instance.update_attributes("params[:#{singular_table_name}]") %> - format.html { redirect_to(@<%= singular_table_name %>, :notice => '<%= human_name %> was successfully updated.') } - format.xml { head :ok } - else - format.html { render :action => "edit" } - format.xml { render :xml => @<%= orm_instance.errors %>, :status => :unprocessable_entity } - end - end + flash[:notice] = '<%= human_name %> was successfully updated.' if @<%= singular_table_name %>.update_attributes(params[:<%= singular_table_name %>]) + respond_with(@<%= singular_table_name %>) end # DELETE <%= route_url %>/1 @@ -75,9 +55,6 @@ class <%= controller_class_name %>Controller < ApplicationController @<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %> @<%= orm_instance.destroy %> - respond_to do |format| - format.html { redirect_to(<%= index_helper %>_url) } - format.xml { head :ok } - end + respond_with(@<%= singular_table_name %>) end end diff --git a/railties/test/generators/scaffold_controller_generator_test.rb b/railties/test/generators/scaffold_controller_generator_test.rb index d55ed22..09d6d0b 100644 --- a/railties/test/generators/scaffold_controller_generator_test.rb +++ b/railties/test/generators/scaffold_controller_generator_test.rb @@ -35,13 +35,11 @@ class ScaffoldControllerGeneratorTest < Rails::Generators::TestCase assert_instance_method :create, content do |m| assert_match /@user = User\.new\(params\[:user\]\)/, m assert_match /@user\.save/, m - assert_match /@user\.errors/, m end assert_instance_method :update, content do |m| assert_match /@user = User\.find\(params\[:id\]\)/, m assert_match /@user\.update_attributes\(params\[:user\]\)/, m - assert_match /@user\.errors/, m end assert_instance_method :destroy, content do |m| diff --git a/railties/test/generators/scaffold_generator_test.rb b/railties/test/generators/scaffold_generator_test.rb index 446bed3..cf0fbce 100644 --- a/railties/test/generators/scaffold_generator_test.rb +++ b/railties/test/generators/scaffold_generator_test.rb @@ -44,13 +44,11 @@ class ScaffoldGeneratorTest < Rails::Generators::TestCase assert_instance_method :create, content do |m| assert_match /@product_line = ProductLine\.new\(params\[:product_line\]\)/, m assert_match /@product_line\.save/, m - assert_match /@product_line\.errors/, m end assert_instance_method :update, content do |m| assert_match /@product_line = ProductLine\.find\(params\[:id\]\)/, m assert_match /@product_line\.update_attributes\(params\[:product_line\]\)/, m - assert_match /@product_line\.errors/, m end assert_instance_method :destroy, content do |m| @@ -149,13 +147,11 @@ class ScaffoldGeneratorTest < Rails::Generators::TestCase assert_instance_method :create, content do |m| assert_match /@admin_role = Admin::Role\.new\(params\[:admin_role\]\)/, m assert_match /@admin_role\.save/, m - assert_match /@admin_role\.errors/, m end assert_instance_method :update, content do |m| assert_match /@admin_role = Admin::Role\.find\(params\[:id\]\)/, m assert_match /@admin_role\.update_attributes\(params\[:admin_role\]\)/, m - assert_match /@admin_role\.errors/, m end assert_instance_method :destroy, content do |m| -- 1.7.2