Ruby on rails 葡萄:动态前缀?

Ruby on rails 葡萄:动态前缀?,ruby-on-rails,ruby,grape,Ruby On Rails,Ruby,Grape,我的api设置如下: class Dashboard < Api def self.inherited(subclass) super subclass.instance_eval do prefix 'dashboard' #... end end def self.company_id(path) ':company_id' + path end helpers do def current_com

我的api设置如下:

class Dashboard < Api
  def self.inherited(subclass)
    super
    subclass.instance_eval do
      prefix 'dashboard'
      #...
    end
  end

  def self.company_id(path)
    ':company_id' + path
  end

  helpers do
    def current_company
      @current_company ||= Company.find(params[:company_id]) if params[:company_id]
    end
  end
end
但这不会产生所需的结果:

namespace :companies do
  namespace :employees do
  ...
  end 
end

据我所知,您正在寻找动态名称空间,不是吗?您可以使用字符串而不仅仅是符号来定义动态名称空间。在给定的字符串中,每个
:something
部分表示一个参数,与您在Rails或Sinatra routes语法中可能使用的参数相同。在端点中,您将能够像通常那样访问
params[:something]

例如,在您的情况下,您可能会使用以下内容:

namespace 'companies/:company_id' do
  namespace :employees do
    get do
      # Will respond with the available params (containing :company_id)
      body params
    end
  end
end
namespace 'companies/:company_id' do
  namespace :employees do
    get do
      # Will respond with the available params (containing :company_id)
      body params
    end
  end
end