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!