rails中的动态路由

时间:2017-02-17 17:19:21

标签: ruby-on-rails ruby

我有一个rails应用程序,除其他外,它提供了一个围绕API调用第三方服务的简单包装器。我想设置一个以/api开头的路由,但添加到其末尾的任何内容都被视为字符串变量。例如,如果客户请求:

/api/apps/guid/details

...然后我想调用控制器index的{​​{1}}操作并使字符串ApiController可用。

我已阅读有关控制器和路由的文档,但似乎所有内容都假设/apps/guid/details将成为我应用中的资源,而实际上我并不关心{{1之后的任何内容的结构}}

如何设置允许我这样做的路线?

1 个答案:

答案 0 :(得分:1)

您可以在config / routes.rb中使用globbing:

const isValidDate = date => {
  if ( Object.prototype.toString.call(date) === "[object Date]" ) {
    // it is a date
    if ( isNaN( date.getTime() ) ) {  // date.valueOf() could also work
      return false;
    }
    else {
      return true;
    }
  }
  else {
    return false;
  }
}

describe("Suite", function() {
  it("handles invalid Dates", function() {
    expect(isValidDate(getStartOfDay("hello")) ).toBeFalsy();
  });
});

可通过get "/api/*path", to: "api#index"

在控制器中访问

可以找到详细信息in the rails guide