加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails 3.2:视图中的路由助手在其他错误后在本

发布时间:2020-12-17 04:32:55 所属栏目:百科 来源:网络整理
导读:使用Rails 3.2在本地开发时,我会定期收到以下错误消息: In order to use #url_for,you must include routing helpers explicitly. For instance,`include Rails.application.routes.url_helpers 在一个非常简单的link_to调用中,我的视图抛出了这个错误,其中
使用Rails 3.2在本地开发时,我会定期收到以下错误消息:
In order to use #url_for,you must include routing helpers explicitly. For instance,`include Rails.application.routes.url_helpers

在一个非常简单的link_to调用中,我的视图抛出了这个错误,其中自动包含这些路由助手,不应该抛出这样的错误.我不认为错误发生在它所说的地方,但为了完整性,我将发布一个示例错误转储:

Completed 500 Internal Server Error in 233ms

ActionView::Template::Error (In order to use #url_for,`include Rails.application.routes.url_helpers):
    1: <%= form_tag products_path do %>

  app/views/layouts/_search_banner.html.erb:1:in `_app_views_layouts__search_banner_html_erb___3528929561490713150_70155778060240'
  app/views/pages/new.html.erb:1:in `_app_views_pages_new_html_erb__29715639072237790_70155789748980'

在它出现之前,我能够正确查看我的所有页面;在它出现之后,刚刚加载的相同页面失败并出现同样的错误.一旦出现错误,修复它的唯一方法是退出并重启我的本地rails服务器.一旦我重新启动服务器,错误就会消失,一切都恢复正常.

此外,此错误仅出现在我的计算机本地 – 代码部署在Heroku上,并且在部署数月内未出现此错误,并且没有其他团队成员在相同代码上运行时发现错误.编辑:在相同代码上运行的其他团队成员确实看到相同的错误.

虽然这个错误有时会突然冒出而没有明显的原因,但我注意到了一些趋势.它经常出现在不同的错误之后.当rails服务器空闲一段时间而不加载任何页面时,它也更有可能出现.

编辑:更多信息
Rails版本:3.2.13
Ruby版本:2.0.0

完整的堆栈跟踪可以找到here

我通过编写代码在操作中抛出错误,向该操作发送请求,然后尝试访问应用程序中的任何其他页面来实现错误.有趣的是,我试图使用的第一个错误是除零,这没有产生错误.接下来,我为Array []错误创建了一个Undefined Method,这导致了这里描述的错误.

编辑:Rails 2.3风格插件的弃用警告
当我部署到Heroku时,我收到以下错误:

DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins!
Support for these plugins will be removed in Rails 4.0.
Move them out and bundle them in your Gemfile,or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb.
See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released.
(called from <top (required)> at /tmp/build_175439d1-f385-43bd-bf52-ebcae817e70b/Rakefile:7)

在MyApp :: Application.load_tasks行上的Rakefile中抛出此错误.我的vendor / plugin目录中没有任何文件.

解决方法

据我所知,这是你的rails版本的一个问题.请参阅此resque问题的评论: https://github.com/rails/rails/issues/11782#issuecomment-22222166

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读