Rails 4强参数,无需参数

我正在使用Rails 4,我不知道在没有必要参数的情况下使用强参数的最佳方法是什么。 那就是我做的:

def create device = Device.new(device_params) ................. end private def device_params if params[:device] params.require(:device).permit(:notification_token) else {} end end 

我的设备型号不validation任何内容的存在。 我知道我也可以这样做:

 device = Device.new device.notification_token = params[:device][:notification_token] if params[:device] && params[:device][:notification_token] 

有没有任何约定或正确的方法呢?

您可以使用fetch而不是require

 def device_params params.fetch(:device, {}).permit(:notification_token) end 

当params中不存在设备时,上面将返回空哈希

文档在这里 。