ruby-on-rails - 为什么参数包含有关 Controller 和操作的详细信息?

标签 ruby-on-rails ruby ruby-on-rails-3

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

controller: controllername 
action:actionname
.
.
.

它包含这些键值对是否有任何特定原因?

最佳答案

params 来自三个来源

  • 网址
  • 查询字符串(GET)
  • post数据通常通过表单提交(POST)

Controller 名称和操作名称来自 URL。假设 url 是“article/123”,Rails 会知道:

  • Controller 是 ArticlesController - 因为“article”是 url 的第一部分
  • Action 是#show,因为请求是GET并且有ID

一旦您在 routes.rb 中定义了它们,就可以识别任何 Controller 和 Action 。还记得您需要为自定义路由分配 Controller 名称和操作吗?

关于ruby-on-rails - 为什么参数包含有关 Controller 和操作的详细信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16601157/

相关文章:

ruby-on-rails - rails : How to call one-to-one relationship in rails

ruby-on-rails - rails 4 + AngularJS : templateUrl for directive not found?

ruby-on-rails - 正则表达式:匹配包含数字和字母的字符串,而不是仅包含数字的字符串

ruby-on-rails - Rails 3 路由并使用 GET 创建干净的 URL?

ruby-on-rails - 无法从 ubuntu 升级 9.10 -> 10.04 运行脚本/控制台

ruby-on-rails - 急切地加载条件

ruby-on-rails - 如何在 Ruby 中只读取 URL 的 header ?

ruby - Sinatra 应用程序无法运行

ruby - 将正整数转换为负整数

ruby-on-rails-3 - Rails 3 的内部重定向