Question

My index.html page for my project needs some Ruby code so I need to change it to a .erb extension. How do I configure Rails to identify the index.html.erb file as the starting page of the project instead of the index.html file?

Was it helpful?

Solution

You need to configure the map.root path in your config/routes.rb file.

map.root :controller => "blogs"

# This would recognize http://www.example.com/ as
params = { :controller => 'blogs', :action => 'index' }

# and provide these named routes
root_url   # => 'http://www.example.com/'
root_path  # => ''

http://api.rubyonrails.org/classes/ActionController/Routing.html

OTHER TIPS

public/index.html is a flat file, and doesn't go through any templating (everything in /public/ is like this.)

If you want templating on your index page, you need to run the request through a controller and a view. You can map the root URL of your application to a controller with map.root:

map.root :controller => 'home'

Or you could do root to:

config/routes.rb

    root to: 'index.html.erb'

Be sure to delete index.html file

The answers here are now outdated. Assuming the index.html.erb file is under a controller and a view called patients. In rails 3 you would do it like this:

match "/" => "patients#index"
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top