Rails4-控制器强参数-使用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方法会抛出错误。它为传递到require的密钥返回一个ActionController::Parameters实例。

permit方法返回parameters对象的副本,只返回允许的键和值。

正如您所看到的,在使用scafffold的默认系统时,我们需要检查params中是否有任何值,而需要在缺少值时抛出错误。

相关内容

  • 没有找到相关文章

最新更新