ticket_path is expecting you to pass the ID of the ticket you are
looking for. Something like this:
ticket_path(123)

Run 'rake routes' to get a good idea of what each named route is
doing.

What you need is something like this:

# tickets_controller
def search
  show
end

# routes.rb
map.resources :tickets, :collection => { :search => :post }

You can now GET or POST to /tickets/search or tickets_search_path.

On Mar 7, 1:05 am, Jl Smith <rails-mailing-l...@andreas-s.net> wrote:
> What am I doing wrong?  I just want to create a simple form where I can
> enter the ID of a model and it take me to that model.  I'm trying to
> place the form in the application layout, so I can use it from anywhere
> in my app.  I'm using restful routes only.  I keep getting this routing
> error when trying to create the form:
>
> ticket_url failed to generate from {:controller=>"tickets",
> :action=>"show"} - you may have ambiguous routes, or you may need to
> supply additional parameters for this route.
>
> Here's my resource declaration (routes.rb):
>
> map.resources :tickets
>
> Here's my "show" method in tickets_controller:
>
> def show
>   begin
>     @ticket = Ticket.find(params[:id])
>
>     respond_to do |format|
>       format.html # show.html.erb
>       format.xml  { render :xml => @ticket }
>     end
>   rescue ActiveRecord::RecordNotFound
>     logger.error("Attempt to access invalid ticket_id =>
> #{params[:id]}")
>     flash[:warning] = "You have requested an invalid ticket."
>     redirect_to tickets_path
>   end
> end
>
> Here's the form_tag I'm trying to use:
>
> <% form_tag ticket_path, {:id => 'jumpbox', :method => :get} do %>
>   <p>
>     <label for="id"><em>Enter a ticket number:</em></label><br/>
>     <%= text_field_tag 'id', nil, :size => 8, :class => "textbox" %>
>     <%= submit_tag 'Go', :name => nil %>
>   </p>
> <% end %>
>
> Thanks for any help!
> --
> Posted viahttp://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to