ruby-on-rails – 为什么params包含有关控制器和动作的详细信息?

好奇,params应该是包含有关浏览器请求的详细信息的哈希.但是debug(params)返回

controller: controllername 
action:actionname
.
.
.

是否包含这些键值对的具体原因是什么?

最佳答案 params来自三个来源

>网址
>查询字符串(GET)
>帖子数据经常通过表单提交(POST)

控制器名称和操作名称来自URL.说网址是“文章/ 123”,Rails会知道:

>控制器是ArticlesController – 因为“article”是url的第一部分
>操作是#show,因为请求是GET并且有ID

在routes.rb中定义控制器和操作后,可以识别它们.还记得您需要为自定义路由分配控制器名称和操作吗?

点赞