繁体   English   中英

调用Rails.application.routes.generate()或Rails.application.routes.recognize_path()时,“ RuntimeError:路由集未完成”

[英]'RuntimeError: route set not finalized' when calling Rails.application.routes.generate() or Rails.application.routes.recognize_path()

我在应用程序中使用Rails.application.routes.generate()Rails.application.routes.recognize_path()来分解并使用Rails路由表生成URL。 使用Rails 2.3.x系列我对此从未遇到过任何问题,但是自从Rails 3(特别是3.1.3)以来,调用这些命令时出现了以下错误

RuntimeError: route set not finalized

两个问题:

  • 为什么? 我正在得到这个吗-我的应用程序已启动并且正在运行并处理其他请求。 为什么到现在还没有最终确定路线?
  • 为了解决这个错误,我打电话给Rails.application.routes.finalize! 在调用这两种方法中的任何一种之前,它似乎都可以工作。 这样做有什么意义吗?

在Rails 3中,您无需使用此技术。 在您可以使用Rails.application.routes.url_helpers之后,需要包括Rails.application.routes.url_helpers。

class User < ActiveRecord::Base
  include Rails.application.routes.url_helpers

  def my_own_url
    user_url(self)
  end
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM