Ruby on rails 葡萄:动态前缀?
我的api设置如下: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
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