如何从Rails 3中托管的Rack应用程序获取命名路由?

Sco*_*ysk 5 rack routes ruby-on-rails ruby-on-rails-3

当应用程序安装在rails 3(在我的案例中是Sinatra应用程序)时,是否可以从自定义机架应用程序中获取命名路由的值?

只需使用该路由,(login_path)就会为未定义的局部变量抛出异常.

更新:

这是我要做的一个例子:

before do
 redirect login_path unless some_condition
end
Run Code Online (Sandbox Code Playgroud)

该应用程序已安装

mount App.new, :at => '/path'
Run Code Online (Sandbox Code Playgroud)

这部分按预期工作.

谢谢,斯科特

And*_*oni 0

我认为这是不可能的,因为他们有单独的代码。您只是告诉 Rails 如何处理某些路径,它将这些请求路由到另一个机架应用程序,它们不共享任何有关内部代码的内容。

也许你可以编写一些代码来告诉 Sinatra 如何读取铁路路线。一个好的起点:

http://apidock.com/rails/ActionDispatch