我的Rake Routes看起来像这样:
report GET /management/:id/report(.:format) report#show
在我的控制器代码中如何访问:id参数?它还在.params[:id]
吗?
我觉得我很困惑,因为这个时间id不是URL中的最后一个,它位于URL的中间。
答案 0 :(得分:1)
是的,你可以像你说的那样访问你在路线中定义的参数:
# 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]
答案 1 :(得分:1)
是params[:id]
。它只是一个命名参数,不必是url的最后一部分。如果它不起作用,请提供您的路线。