2

在我的 application_controller.rb 我有一行

# Get the previous url string nicely.
previousPath = Rails.application.routes.recognize_path(request.referrer)

但我在那条线上得到了这个错误

NoMethodError (undefined method `authenticate?' for nil:NilClass)

这似乎与设计有关。但是当我确实包含 Devise::TestHelpers 时,我得到 env is not defined 或其他东西,这似乎不是一个好的解决方案。

关于如何解决这个问题而不需要我捕捉错误或正则表达式来分割路径的任何想法?

4

1 回答 1

0

此问题可能是由于在应用程序首次加载时默认写入路由的路径路径,因此将字符串连接到您从 request.referrer 获得的 url。

即,url = request.referrer + "controller_name"

 previousPath = Rails.application.routes.recognize_path(url)
于 2014-02-13T13:20:39.473 回答