好奇,params应该是包含有关浏览器请求的详细信息的哈希。但是debug(params)返回
controller: controllername
action:actionname
.
.
.
它是否包含这些键值对的具体原因?
答案 0 :(得分:1)
params
来自三个来源
控制器名称和操作名称来自URL。说网址是“文章/ 123”,Rails会知道:
ArticlesController
- 因为“文章”是网址的第一部分#show
,因为请求为GET
并且有ID 在routes.rb
中定义控制器和操作后,可以识别它们。还记得您需要为自定义路由分配控制器名称和操作吗?
答案 1 :(得分:1)
我只是猜测,但这可能是在Rails建立在Rack之前的日子。如今,您只需将这些东西放入Rack环境中(现在它们可能就在那里)。它们可能仍然存在向后兼容性。
答案 2 :(得分:0)
因此,您可以在过滤器,视图(不是最佳实践)之前/之后/周围查询那些,以及多个控制器之间共享的方法