Weird routing problem after generating controller

Hi,

I have bumped into a weird case that almost seems like a bug or.. a total newbie mistake.

After generating a controller with

rails g controller store index

I expected to get a page when accessing http://site:3000/store

but instead I got No route matches "/store".

config/routes.rb has got: get "store/index"

and everything works when accessing http://site:3000/store/index

Webrick restart did not help.

$ ruby -v ruby 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux]

$ rails -v Rails 3.0.5

$ gem -v 1.6.2

Hi,

I have bumped into a weird case that almost seems like a bug or… a

total newbie mistake.

After generating a controller with

rails g controller store index

I expected to get a page when accessing http://site:3000/store

but instead I got No route matches “/store”.

config/routes.rb has got: get “store/index”

‘get “store/index”’ all on its own won’t be a valid route. At the very least, I think you’d want something like:

match “store” => “store#index”

There are other ways to do it, but it depends what you’re trying to do. The routing guide (http://guides.rubyonrails.org/routing.html) is pretty thorough for most common routes.

Thank you. Indeed. I got it working by adding, as you also suggested,

match 'store' => 'store#index', :via => :get

to the routes file. I am working with Agile Web Development with Rails, 3rd edition. Version differences maybe.

Kristjan

Get the fourth version, which is for Rails 3. The PDF is final, I believe, and the paper book should be shipping any day. (I keep watching the porch for the UPS guy...)

Walter

I am really looking forward to the paper book to get out of beta status! :slight_smile:

K