Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails ActionView::TemplateError(无法从中生成shop_url_Ruby On Rails - Fatal编程技术网

Ruby on rails Rails ActionView::TemplateError(无法从中生成shop_url

Ruby on rails Rails ActionView::TemplateError(无法从中生成shop_url,ruby-on-rails,Ruby On Rails,我明白了,但我没有修改任何代码。我的开发环境工作得很好。这在生产中发生 当有匹配的条目时会发生这种情况。当没有匹配的条目时,就可以了(显然!) Processing ShopsController#index(2010-11-25 01:46:48时的118.100.246.177)[GET] 参数:{“country”=>“France”,“action”=>“index”,“filter”=>“on”,“order”=>“rating”\u Descent”,“type”=>“places”

我明白了,但我没有修改任何代码。我的开发环境工作得很好。这在生产中发生

当有匹配的条目时会发生这种情况。当没有匹配的条目时,就可以了(显然!)

Processing ShopsController#index(2010-11-25 01:46:48时的118.100.246.177)[GET]
参数:{“country”=>“France”,“action”=>“index”,“filter”=>“on”,“order”=>“rating”\u Descent”,“type”=>“places”,“controller”=>“shops”,“keyword”=>“}
布局/应用程序中的呈现模板
渲染商店/索引
ActionView::TemplateError(从app/views/shops/index.html.erb第50行的{:type=>“places”,:action=>“shop”,:controller=>“shops”}生成shop\uURL失败,应为:{:controller=>“shops”,:action=>“show”},diff:{:type=>“places”}
47: 
48:               
49:                 
50:                   
51:                     
52:“缩略图”)%%>
53:                     
facebook(1.0.75)lib/facebook/rails/facebook\u url\u rewriting.rb:53:in'rewrite\u url'
facebooker(1.0.75)lib/facebooker.rb:200:in'request_for_canvas'
facebook(1.0.75)lib/facebook/rails/facebook\u url\u rewriting.rb:52:in'rewrite\u url'
(评估):17: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\u sphinx/search.rb:137:in'method\u 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\u callback\u 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\u callback\u filter.rb:10:in'call'
乘客(2.2.15)lib/phusion\u乘客/机架/请求处理程序。rb:92:正在处理请求
乘客(2.2.15)lib/phusion\u乘客/abstract\u请求处理程序。rb:207:在“主循环”中
乘客(2.2.15)lib/phusion\u乘客/railz/application\u产卵器。rb:441:in'start\u request\u handler'
乘客(2.2.15)lib/phusion\u乘客/railz/application\u产卵器。rb:381:in'handle\u spawn\u application'
乘客(2.2.15)lib/phusion_乘客/utils.rb:252:in‘safe_fork’
乘客(2.2.15)lib/phusion\u乘客/railz/application\u产卵器。rb:377:in'handle\u spawn\u application'
passenger(2.2.15)lib/phusion\u passenger/abstract\u server.rb:352:in``发送`'
乘客(2.2.15)lib/phusion\u乘客/abstract\u服务器。rb:352:在“主循环”中
乘客(2.2.15)lib/phusion\u乘客/abstract\u服务器。rb:196:在“同步启动”中
乘客(2.2.15)lib/phusion\u乘客/abstract\u服务器。rb:163:in'start'
乘客(2.2.15)lib/phusion\u乘客/railz/application\u产卵器。rb:222:in'start'
乘客(2.2.15)lib/phusion\u乘客/spawn\u经理。rb:253:in'spawn\u rails\u应用程序'
乘客(2.2.15)lib/phusion\u乘客/abstract\u服务器\u集合。rb:126:在“查找”或“添加”中
乘客(2.2.15)lib/phusion\u乘客/spawn\u经理。rb:247:in'spawn\u rails\u应用程序'
乘客(2.2.15)lib/phusion\u乘客/abstract\u服务器\u集合。rb:80:in'synchronize'
乘客(2.2.15)lib/phusion\u乘客/abstract\u服务器\u集合。rb:79:in'synchronize'
乘客(2.2.15)lib/phusion\u乘客/spawn\u经理。rb:246:in'spawn\u rails\u应用程序'
乘客(2.2.15)lib/phusion\u乘客/spawn\u经理。rb:145:in'spawn\u应用程序'
乘客(2.2.15)lib/phusion\u乘客/spawn\u经理。rb:278:handle\u spawn\u应用程序中
passenger(2.2.15)lib/phusion\u passenger/abstract\u server.rb:352:in``发送`'
乘客(2.2.15)lib/phusion\u乘客/abstract\u服务器。rb:352:在“主循环”中
乘客(2.2.15)lib/phusion\u乘客/abstract\u服务器。rb:196:在“同步启动”中
布局/应用程序中的呈现模板
渲染错误/500.html.erb(500)
[回形针]保存附件。
当我的
类型
是其他类型时,比如
车库
商场
,它们都工作得非常好。我甚至重建了斯芬克斯指数

更新
结果是MySQL ID从1,2,3自动递增。。。我删除了1,2,3条目,并将ID替换为200001,200002,这给了我问题。我不知道Rails是如此严格。

从错误消息中非常清楚。:type=>
“places”
让你感到悲伤。您可能需要将
“?type=places
固定到生成的URL的末尾,如果这是您真正想要传递给控制器的内容。

从错误消息中可以清楚地看到:type=>
“places”
正在给您带来痛苦。您可能需要固定
”?type=将
放在生成的URL的末尾,如果这是您真正想要传递给控制器的内容。

我认为它比这个稍多一些。。。可能是尚未保存的
shop
对象。这是可能的。我在params散列中没有看到任何暗示嵌套资源的内容,但我可能遗漏了一些内容。OP:您是否为该路由编写了测试?错误确实清楚地表明了这一点。要么使用不同的命名/嵌套路由,要么将其作为参数附加。我认为它比这个稍微多一些。。。可能是尚未保存的
shop
对象。这是可能的。我在params散列中没有看到任何暗示嵌套资源的内容,但我可能遗漏了一些内容。OP:您是否为该路由编写了测试?错误确实清楚地表明了这一点。使用不同的命名/嵌套管线,或将其作为参数附加。是否有尚未保存的
shop
对象?i、 这是否在嵌套资源中,您正在控制器中执行
something.shops.build
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.