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
Kivi
March 14, 2011, 10:09pm
2
On Mon, Mar 14, 2011 at 3:45 PM, Kivi [email protected] wrote:
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 (Rails Routing from the Outside In — Ruby on Rails Guides ) is pretty
thorough for most common routes.
Kivi
March 14, 2011, 10:24pm
3
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 D. with
Rails, 3rd edition. Version differences maybe.
Kristjan
Kivi
March 16, 2011, 4:54pm
4
I am really looking forward to the paper book to get out of beta
status!
K
Kivi
March 15, 2011, 4:38pm
5
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