ruby-on-rails - 为什么必须使用 fetch 获取 Rails 参数?

标签 ruby-on-rails parameters

docs ,他们有:

params = ActionController::Parameters.new(person: { name: "Francesco" })

然后使用 params.fetch(:person) 来获取 person,但是你不能只做 params[:person] 吗?获取相同的数据?

最佳答案

我想这取决于你想要的行为。

params = ActionController::Parameters.new
params.fetch(:person)

会引发错误。正如文档中所反射(reflect)的,如果您愿意,可以使用 fetch 指定进一步的行为。

params = ActionController::Parameters.new
params[:person]

将返回 nil

关于ruby-on-rails - 为什么必须使用 fetch 获取 Rails 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44375569/

相关文章:

ruby-on-rails - Rails 关联 has_many 通过而不是 HABTM

swift - 多类型约束

sql - 如何自动更改月份输入

C++:参数传递 "passed by reference"

c# - 字符串数组和参数的扩展方法

ruby-on-rails - 如何根据 Ruby 数组中的单词替换字符串中的单词?

ruby-on-rails - 在 Controller 之间共享一些 before_filters

ruby-on-rails - rails 4 - 缺少参数或值为空 : projecttype

ruby-on-rails - 是否可以只从 ActiveRecord 关联请求某些列?

c++ - 带有类型别名的函数指针参数