相关疑难解决方法(0)

反向铁路路由:从URL中查找操作名称

我明白如何将:controller,:action, :etc为URL.我正在寻找相反的方法,如何从URL中找到rails路由器将调用的操作?

routing ruby-on-rails

15
推荐指数
2
解决办法
5097
查看次数

确定Journey :: Path :: Pattern是否与当前页面匹配

我试图用概括的方法,这个帖子与结合url_for,以确定当前的路径是在安装的发动机,但我有一个很难搞清楚究竟如何使用Journey::Path::Pattern(这是由返回的mounted_path概括方法在另一篇文章中).

class Rails::Engine
  def self.mounted_path
    route = Rails.application.routes.routes.detect do |route|
      route.app == self
    end
    route && route.path
  end
end
Run Code Online (Sandbox Code Playgroud)

除了官方文档之外,任何地方似乎都没有太多的讨论,这不是特别有用.我确定解决方案相对简单,我正在尝试编写的辅助方法的要点如下:

def in_engine? engine
  current_url.include?(engine.mounted_path)
end
Run Code Online (Sandbox Code Playgroud)

编辑:

我的一些引擎作为子域安装,一些安装在应用程序本身内,这使我无法简单地检查当前子域是否与安装的路径相同,或者使用path_for.

ruby ruby-on-rails rails-routing

5
推荐指数
1
解决办法
544
查看次数

标签 统计

ruby-on-rails ×2

rails-routing ×1

routing ×1

ruby ×1