No route found to match "/search" with {:method=>:get}

Hi,

I am a bit new to the whole RoR thing and have faced small problem,
but was not able to fine related answer to my specific condition. I am
writing an application called site which I want to be the default root
application. I did the required configuration in routes.rb file.

Problem is, on the main page, I have a GET form that does not wrap
object model, and has an id. I tried manual HTML and it didn’t work
when I am visiting the site from http://localhost:3000 because the
action ‘search’ will point to non-existing action on that level,
yielding error:

no route found to match “/search” with {:method=>:get}

if I go to http://localhost:300/site/index and do the search it works
fine. I tried the form_tag and it also didn’t help. Any idea how I can
overcome this issue?

hm, if i am understand you need implement routes,

in config/routes.rb, something in middle do:
map.search “/search”, :controller => “site”, :action => “index”

then /search path will be available, for anything.

also you will be able to make restful url, like:
link_to “Seach on site”, search_url

Jamal: Thanks. Your solution worked.

Alexey: Your solution worked as well. Thanks.

I think I will go with the name mapping seems better on the long run.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs