我的耙子路线如下所示:
report GET /management/:id/report(.:format) report#show
在我的控制器代码中,如何访问该 :id 参数?还在.params[:id]
吗?
我想我很困惑,因为这个时间 id 不是 URL 中的最后一件事,它位于 URL 的中间。
我的耙子路线如下所示:
report GET /management/:id/report(.:format) report#show
在我的控制器代码中,如何访问该 :id 参数?还在.params[:id]
吗?
我想我很困惑,因为这个时间 id 不是 URL 中的最后一件事,它位于 URL 的中间。
是的,您可以像您说的那样访问您在路线中定义的参数:
# The route
# /management/:id/report(.:format)
# will generate the following params:
params[:id]
params[:format] # optional
另一个例子:
match ':controller(/:action(/:id))'
# will produce the following params:
params[:controller]
params[:action] # (optional)
params[:id] # (optional)
match '/search/:search'
# will produce, in the SearchController (and views):
params[:search]
它是params[:id]
。它只是一个命名参数,不必是 url 的最后一部分。如果它不起作用,请提供您的路线。