2010-11-24 8 views
1

Ich erhalte diese zu erzeugen, aber ich habe nicht einen dieser Codes geändert. Und meine Entwicklungsumgebung arbeitet völlig in Ordnung. Dies geschieht in der Produktion.Rails ActionView :: TemplateError (shop_url fehlgeschlagen von

Dies geschieht, wenn es wird passende Einträge. Wenn keine passenden Einträge gibt, es in Ordnung ist (natürlich!).

Processing ShopsController#index (for 118.100.246.177 at 2010-11-25 01:46:48) [GET] 
    Parameters: {"country"=>"France", "action"=>"index", "filter"=>"on", "order"=>"rating_descend", "type"=>"places", "controller"=>"shops", "keyword"=>""} 
Rendering template within layouts/application 
Rendering shops/index 

ActionView::TemplateError (shop_url failed to generate from {:type=>"places", :action=>"show", :controller=>"shops"}, expected: {:controller=>"shops", :action=>"show"}, diff: {:type=>"places"}) on line #50 of app/views/shops/index.html.erb: 
47: 
48:    <% @shops.each do |shop| %> 
49:     <div id="<%= dom_id(shop) %>" class="item"> 
50:     <a href="<%= shop_path(shop, :type => @type) %>"> 
51:      <% if !shop.photos.blank? %> 
52:      <%= image_tag(shop.photos.last.url(:thumb), :class => 'thumbnail') %> 
53:      <% else %> 

    facebooker (1.0.75) lib/facebooker/rails/facebook_url_rewriting.rb:53:in `rewrite_url' 
    facebooker (1.0.75) lib/facebooker.rb:200:in `request_for_canvas' 
    facebooker (1.0.75) lib/facebooker/rails/facebook_url_rewriting.rb:52:in `rewrite_url' 
    (eval):17:in `shop_path' 
    app/views/shops/index.html.erb:50 
    /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/thinking-sphinx-1.3.20/lib/thinking_sphinx/search.rb:137:in `each' 
    /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/thinking-sphinx-1.3.20/lib/thinking_sphinx/search.rb:137:in `send' 
    /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/thinking-sphinx-1.3.20/lib/thinking_sphinx/search.rb:137:in `method_missing' 
    app/views/shops/index.html.erb:48 
    /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/authlogic-oauth-1.0.8/lib/oauth_callback_filter.rb:10:in `call' 
    /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/authlogic-oauth-1.0.8/lib/oauth_callback_filter.rb:10:in `call' 
    passenger (2.2.15) lib/phusion_passenger/rack/request_handler.rb:92:in `process_request' 
    passenger (2.2.15) lib/phusion_passenger/abstract_request_handler.rb:207:in `main_loop' 
    passenger (2.2.15) lib/phusion_passenger/railz/application_spawner.rb:441:in `start_request_handler' 
    passenger (2.2.15) lib/phusion_passenger/railz/application_spawner.rb:381:in `handle_spawn_application' 
    passenger (2.2.15) lib/phusion_passenger/utils.rb:252:in `safe_fork' 
    passenger (2.2.15) lib/phusion_passenger/railz/application_spawner.rb:377:in `handle_spawn_application' 
    passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:352:in `__send__' 
    passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:352:in `main_loop' 
    passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously' 
    passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:163:in `start' 
    passenger (2.2.15) lib/phusion_passenger/railz/application_spawner.rb:222:in `start' 
    passenger (2.2.15) lib/phusion_passenger/spawn_manager.rb:253:in `spawn_rails_application' 
    passenger (2.2.15) lib/phusion_passenger/abstract_server_collection.rb:126:in `lookup_or_add' 
    passenger (2.2.15) lib/phusion_passenger/spawn_manager.rb:247:in `spawn_rails_application' 
    passenger (2.2.15) lib/phusion_passenger/abstract_server_collection.rb:80:in `synchronize' 
    passenger (2.2.15) lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize' 
    passenger (2.2.15) lib/phusion_passenger/spawn_manager.rb:246:in `spawn_rails_application' 
    passenger (2.2.15) lib/phusion_passenger/spawn_manager.rb:145:in `spawn_application' 
    passenger (2.2.15) lib/phusion_passenger/spawn_manager.rb:278:in `handle_spawn_application' 
    passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:352:in `__send__' 
    passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:352:in `main_loop' 
    passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously' 

Rendering template within layouts/application 
Rendering errors/500.html.erb (500) 
[paperclip] Saving attachments. 

Als mein type andere wie garages ist, malls usw., sie alle sehr gut gearbeitet. ich meine sogar wieder aufgebaut Sphinx Denken Index

UPDATE Stellt sich heraus, MySQL ID Autoincrement von 1, 2, 3 ... Ich löschte die 1, 2, 3 Eintrag und ersetzen Sie die ID mit 200000, 200001, 200002 und es gab mir ein Problem. Wusste nicht, dass Rails so streng war.

+0

Können Sie uns Ihre Routen zeigen? –

+0

Haben Sie ein Shop-Objekt, das noch nicht gespeichert wurde? d. h. befindet sich dies in einer verschachtelten Ressource, in der Sie 'something.shops.build' in der Controller-Aktion ausführen? –

+0

Oder haben Sie eine benutzerdefinierte 'to_param'-Methode für die' Shop'-Klasse und enthält einer der Shops einen Punkt (.) In seiner 'to_param'-Version? –

Antwort

1

Ziemlich klar von der Fehlermeldung. Der: type =>"places" verursacht dir Kummer. Möglicherweise müssen Sie die "?type=places an das Ende der generierten URL anheften, wenn Sie das wirklich an den Controller übergeben möchten.

+0

Ich denke, es ist ein bisschen mehr als das ... möglicherweise ein "Shop" -Objekt, das noch nicht gespeichert wurde. –

+0

Das ist möglich. Ich habe im Params-Hash nichts gesehen, das eine verschachtelte Ressource impliziert, aber ich hätte etwas übersehen können. OP: Hast du einen Test für diese Route geschrieben? –

+0

Der Fehler zeigt dies eindeutig an. Verwenden Sie eine andere benannte/verschachtelte Route oder hängen Sie sie als Parameter an. – nathanvda

Verwandte Themen