【问题标题】:Routes: Make routes conditional based on configuration setting from application?路由:根据应用程序的配置设置使路由有条件?
【发布时间】:2013-10-08 15:14:33
【问题描述】:

如何根据应用程序的设置使 ruby​​ on rails 路由有条件?我使用 APP_CONFIG["myvar"] 来全局设置值(加载真正的初始化程序)

现在在我的路线中,我想基于此交换某些路线。准确地说,我有一个 beta 注册表单,我想在 APP_CONFIG["my app"] 为真时显示它。否则,我希望我的应用程序的敬意路由到 home#index

我的路由中不能只使用 if 语句,它会破坏路由

有什么想法吗?

【问题讨论】:

  • 我建议使用控制器逻辑来执行此操作,设置一个在 APP_CONFIG["my app"] 返回 true 时呈现的部分,否则只呈现动作模板。

标签: ruby-on-rails routing conditional


【解决方案1】:

如果要禁用路由,请尝试在路由定义中使用 :constraints 属性,例如:

resources :users, :constraints => lambda { |request| APP_CONFIG["my app"].present? }

【讨论】:

    猜你喜欢
    • 2016-05-27
    • 2019-07-06
    • 2020-03-04
    • 2021-05-12
    • 1970-01-01
    • 2018-02-18
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多