Wil*_*ckl 19 ruby ruby-on-rails strong-parameters ruby-on-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
Run Code Online (Sandbox Code Playgroud)
我的设备型号不验证任何内容.我知道我也可以这样做:
device = Device.new
device.notification_token = params[:device][:notification_token] if params[:device] && params[:device][:notification_token]
Run Code Online (Sandbox Code Playgroud)
是否有任何惯例或正确的方法来做到这一点?
ush*_*sha 44
你可以用fetch而不是require.
def device_params
params.fetch(:device, {}).permit(:notification_token)
end
Run Code Online (Sandbox Code Playgroud)
当params中不存在设备时,上面将返回空哈希
文档在这里.
| 归档时间: |
|
| 查看次数: |
9089 次 |
| 最近记录: |