Head first rails Mebay application

I am using rails 3 and the steps that I have done

1.rails new MeBay

2.rails g model ad name:string description:text price:decimal seller_id:integer email:string imr_url:string

3.rake db:migrate

4.rails generate controller ads

5.show.html.erb

Name:<%= @ad.name %>

Description:<%= @ad.description %>

Price:<%= @ad.price %>

Seller Id:<%= @ad.seller_id %>

Email:<%= @ad.email %>

``

6.config/routes.rb

controller ‘ads’ do
match ‘ads/:id’ => :show
match ‘ads/:id’ => :index
end

``

7.ads_controller

def show
@ad = Ad.find(params[:id])
end
def index
@ads = Ad.find(:all)
end

``

  1. index.html.erb

All ads

``

after starting the rails server

in browser I am trying

http://localhost:3000/MeBay

http://localhost:3000/show/ads/3

I am getting routing error. Please help on solving this error.

No route matches [GET] “/MeBay”

No route matches [GET] “/show/ads/3”

please note:other scaffolding project that I created in RoR runs well. but not this one. please help where I went wrong.

Firstly don't use Rails 3 as it is not only obsolete but will go out
of support within a few months. As a beginner I suggest you work
right through a good tutorial (which uses the latest rails) such as
railstutorial.org (which is free to use online). That will show you
the basics or Rails.

As for your specific problem it should be /ads/show/3. Also the route
for index should not include the id. But in routes.rb you should be
using resources rather than match for such cases. As I said work
through the tutorial before going further.

Colin

> 6.config/routes.rb
>
> controller 'ads' do
> match 'ads/:id' => :show
> match 'ads/:id' => :index
> end

As for your specific problem it should be /ads/show/3. Also the route
for index should not include the id. But in routes.rb you should be
using resources rather than match for such cases.

The "show" route would just be /ads/3 : http://localhost:3000/ads/3
The "index" route is just /ads: http://localhost:3000/ads

  As I said work
through the tutorial before going further.

Colin

Tamara

That's true, perhaps I need to work through the tutorial again myself :slight_smile:

Colin

I have the guides, the api docs, and Ruby's Enumerable pinned in my browser
for re-reading. :slight_smile: