我有一个简单的Rails应用程序,并希望在以下位置公开GET端点:
GET http://localhost/widgets/{widget_id}/{fizz_id}
我想知道如何在我的{widget_id}
和/或控制器中设置该端点的期望({fizz_id}
和routes.rb
作为路径参数),例如{{ 1}}?
我知道您可以访问控制器内的WidgetsController
,但我认为这只能让您访问表单参数和/或查询字符串参数。这里,这些ID是RESTful路径的一部分,我想知道:
params
;和答案 0 :(得分:2)
我如何设置该端点的期望(使用
中有{widget_id}
在我的routes.rb{fizz_id}
作为路径参数
# routes.rb
get '/widgets/:widget_id/:fizz_id', to: 'widgets#action'
# widgets_controller.rb
def action
widget_id = params[:widget_id] # <- value of /:widget_id
fizz_id = params[:fizz_id] # <- value of /:fizz_id
end
有关详细信息,请阅读documentation.
答案 1 :(得分:1)
您可以在此处找到有关Rails路由的所有信息:
http://guides.rubyonrails.org/routing.html
在你的routes.rb
中加上这样一行:
get '/widgets/:widget_id/:fizz_id', to: 'widgets#show'
在WidgetsController
:
def show
execute(params[:widget_id], params[:fizz_id])
end