Rails 4 - 控制器强参数 - 使用脚手架生成
Rails 4 - controller strong params - generated with scaffold
我正在尝试在 Rails 4.
中制作一个应用程序
我使用脚手架生成器作为我的资源起点。
我注意到,当我在这个板上提问时,人们对我在控制器中的强参数定义的形式发表评论。
脚手架生成器以这种格式创建它们:
def industry_params
params[:industry].permit(:sector, :icon)
end
大多数显示如何将强参数列入白名单的资源都显示这种格式。
def industry_params
params.require(:industry).permit(:sector, :icon)
end
http://edgeapi.rubyonrails.org/classes/ActionController/StrongParameters.html
rails 脚手架生成器创建此方法的方式有什么问题吗?
require 方法确保特定参数存在,如果未提供,则 require 方法会抛出错误。它 returns 一个 ActionController::Parameters
的实例,用于传递给 require 的密钥。
permit 方法returns 参数对象的副本,仅返回允许的键和值。
如您所见,在使用脚手架的默认系统时,我们需要检查 params
中是否有任何值,而 require 如果缺少则抛出错误.
我正在尝试在 Rails 4.
中制作一个应用程序我使用脚手架生成器作为我的资源起点。
我注意到,当我在这个板上提问时,人们对我在控制器中的强参数定义的形式发表评论。
脚手架生成器以这种格式创建它们:
def industry_params
params[:industry].permit(:sector, :icon)
end
大多数显示如何将强参数列入白名单的资源都显示这种格式。
def industry_params
params.require(:industry).permit(:sector, :icon)
end
http://edgeapi.rubyonrails.org/classes/ActionController/StrongParameters.html
rails 脚手架生成器创建此方法的方式有什么问题吗?
require 方法确保特定参数存在,如果未提供,则 require 方法会抛出错误。它 returns 一个 ActionController::Parameters
的实例,用于传递给 require 的密钥。
permit 方法returns 参数对象的副本,仅返回允许的键和值。
如您所见,在使用脚手架的默认系统时,我们需要检查 params
中是否有任何值,而 require 如果缺少则抛出错误.