Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Added a generator option to remove the public/index.html file when ge…

…nerating a new Rails application

The option is:
-i, [--skip-index-html]        # Skip public/index.html file
  • Loading branch information...
commit 5c1109a68e098188803a6232be55dfff1e5e12eb 1 parent b49a7dd
Ivan Vanderbyl ivanvanderbyl authored malclocke committed
3  railties/lib/rails/generators/app_base.rb
@@ -49,6 +49,9 @@ def self.add_shared_options_for(name)
class_option :skip_javascript, :type => :boolean, :aliases => "-J", :default => false,
:desc => "Skip JavaScript files"
+ class_option :skip_index_html, :type => :boolean, :aliases => "-I", :default => false,
+ :desc => "Skip public/index.html and app/assets/images/rails.png files"
class_option :dev, :type => :boolean, :default => false,
:desc => "Setup the #{name} with Gemfile pointing to your Rails checkout"
5 railties/lib/rails/generators/rails/app/app_generator.rb
@@ -97,6 +97,11 @@ def log
def public_directory
directory "public", "public", :recursive => false
+ if options[:skip_index_html]
+ remove_file "public/index.html"
+ remove_file 'app/assets/images/rails.png'
+ git_keep 'app/assets/images'
+ end
def script
7 railties/test/generators/app_generator_test.rb
@@ -240,6 +240,13 @@ def test_inclusion_of_javascript_runtime
+ def test_generator_if_skip_index_html_is_given
+ run_generator [destination_root, "--skip-index-html"]
+ assert_no_file "public/index.html"
+ assert_no_file "app/assets/images/rails.png"
+ assert_file "app/assets/images/.gitkeep"
+ end
def test_creation_of_a_test_directory
assert_file 'test'

15 comments on commit 5c1109a

Santiago Pastorino

I've just seen this and I want to suggest something different.
What about reverting this commit, removing index.html and defining a rails engine inside railties that you can mount in '/' if the routes.rb file has still no routes defined ?.

José Valim

It does not need to be an engine, it can be a simple rack app. And it sounds like a good idea. :)

Checking if a route exists can be cumbersome... so we could simply append the route (at the bottom), then as soon as someone defines a new "/", it won't be matched anymore.

Steve Klabnik
Santiago Pastorino

@josevalim true :) and agreed. Not sure about always adding "/" though, because if the user doesn't add a root route it will end having that index view in production.
Anyway we can just generate the "index" route inside config/route.rb itself suggesting the user to just change that.

Guillermo Iguaran

@spastorino add it only for development environment like /rails/info/properties

Santiago Pastorino

Sounds good bros

Rein Henrichs

:thumbsup: to the :thumbsup:s

Also :+1: to the feature.

Please sign in to comment.
Something went wrong with that request. Please try again.