ruby-on-rails - 如何合并路由声明(子域或 token )?

标签 ruby-on-rails subdomain constraints routes

我有一个可以通过多种方式访问​​的模型模型:通过子域或 token

  • http://model1.domain.com
  • http://domain.com/j4h7

  • 我有以下路线
    resources :model, :constraints => {:model_id => /[a-zA-Z0-9]{4}/} do
      ... (nested resources...)
    end
    resources :model, :constraints => {:subdomain => /.+/} do
      ... (same as above: nested resources...)
    end
    

    所以我目前必须复制这两种情况的所有路线。

    有没有办法只声明一次?

    最佳答案

    def nested_routes
      get :some_route
      post :some route
      resources :some_resources
    end
    
    resources :model, :constraints => {:model_id => /[a-zA-Z0-9]{4}/} do
      nested_routes
    end
    
    resources :model, :constraints => {:subdomain => /.+/} do
      nested_routes
    end
    

    相关主题:Rails 3 Routes: DRY members

    关于ruby-on-rails - 如何合并路由声明(子域或 token )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5778848/

    相关文章:

    ruby-on-rails - 安全认证: Rails WebApp and iOS App

    javascript - ajax 形式和部分

    ruby-on-rails - rails : how to redirect to "show" action of nested resource in a "create" action?

    asp.net - ASP.NET MVC 2 应用程序中的区域可以映射到子域吗?

    ios - Mandrill 子域的通用深度链接

    ios - 如何以编程方式更改在 IB 中设置的自动布局约束?

    ios - 为呈现的 ViewController 设置约束

    .net - 显式类型成员约束中的 "or"

    ruby-on-rails - Mysql2::Error: PRIMARY KEY 的所有部分都必须为 NOT NULL;如果您需要在键中使用 NULL,请改用 UNIQUE

    dns - 如何在 1and1 上使用通配符子域?