2010-11-24 12 views
1

からの生成に失敗しました。これは、生産に起こる。RailsのActionView :: TemplateError(shop_urlが、私はこれを取得していますが、私はこれらのコードのいずれかを変更していない。そして、私の開発環境は完全に正常に動作

たときにそこにこれが起こります一致するエントリがない場合のエントリに一致している。それは、(当然!)大丈夫です。

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. 

typeは、他の人などgaragesmalls、同様に、それらはすべてが完璧に働いていたとき。私も、私はスフィンクスを考える再建しますインデックス。

UPDATE MySQL IDの自動インクリメントを1,2,3から切り離します.1,2,3のエントリを削除し、IDを200000,200001,200002に置き換えて問題になりました。 Railsが非常に厳しいとは知らなかった。

+0

あなたのルートを教えてもらえますか? –

+0

まだ保存されていない 'shop'オブジェクトがありますか?すなわち、コントローラのアクションで 'something.shops.build'を実行しているネストされたリソースの内側ですか? –

+0

また、 'Shop'クラスにカスタムの' to_param'メソッドがありますか?その店の1つが 'to_param'バージョンにピリオド(。)を含んでいますか? –

答えて

1

エラーメッセージからかなりクリア。 :type =>"places"はあなたに悲しみを引き起こしています。実際にコントローラに渡す場合は、"?type=placesを生成されたURLの最後に固定する必要があります。

+0

これはもう少しだと思います...おそらく保存されていない 'shop'オブジェクトかもしれません。 –

+0

それは可能です。ネストされたリソースを暗示しているparamsハッシュには何も見当たりませんでしたが、私は何かを見逃していた可能性があります。 OP:そのルートのテストを書きましたか? –

+0

実際にはエラーがこれを明確に示しています。異なる名前の/ネストされたルートを使用するか、それをパラメータとして接続します。 – nathanvda

関連する問題