【问题标题】:Rails path helpers without routes没有路线的 Rails 路径助手
【发布时间】:2019-08-28 13:23:23
【问题描述】:

我们正在从我们的 rails 应用程序中取出一些页面以单独提供(它们是一些静态页面,其中一些内容通过 cms 进行管理)。网址将保持不变。我们自己在服务器前面的路由系统将决定哪个请求应该发送到 rails 应用程序,哪些请求发送到静态部分。

我的问题是关于我们在整个 Rails 应用程序中大量使用的路径助手,例如生成 mahwebsite.com/aboutlink_to about_path。据我了解,我可以让它们保持原样,它们仍然会生成正确的网址。我唯一担心的是,为了让它们工作,我必须将路由保留在路由文件中,该文件必须连接到虚拟控制器方法。似乎有很多冗余代码只是为了欺骗 Rails 来创建路径助手。

或者,我可以对静态页面的链接进行硬编码。但在我开始替换大量代码之前,我想知道是否有一种干净的 Railsy 方法来保留路径助手,而不必路由到冗余控制器。

谢谢。

【问题讨论】:

    标签: ruby-on-rails routing


    【解决方案1】:

    为什么不创建自己的辅助方法?例如

    # application_controller.rb
    def about_path
      "mahwebsite.com/about"
    end
    helper_method :about_path
    alias_method :about_url, :about_path
    

    这将覆盖任何 Rails 辅助方法并完全按照您的要求进行操作:)

    希望这会有所帮助 - 如果您有任何问题或问题,请给我留言。

    【讨论】:

    • 这对@redFur 有帮助吗?
    【解决方案2】:

    怎么样

    resources :custom_pages, only: [:your_options] do
      get :view/:page_id_or_whatever_for_identify
    end
    

    并用控制器做以下内容?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-28
      • 1970-01-01
      • 1970-01-01
      • 2015-08-11
      • 2013-02-27
      • 1970-01-01
      • 2019-01-24
      相关资源
      最近更新 更多