strong rails permit multiple all ruby-on-rails ruby ruby-on-rails-4 strong-parameters

ruby-on-rails - rails - strong parameters nested attributes



Rails 4 parĂ¡metros fuertes sin parĂ¡metros requeridos (1)

Estoy usando Rails 4 y no sé cuál es la mejor manera de usar parámetros fuertes sin los parámetros requeridos. Entonces, eso es lo que hice:

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

Mi modelo de dispositivo no valida la presencia de nada. Sé que también podría hacer algo así:

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

¿Hay alguna convención o la forma correcta de hacerlo?


Puedes usar fetch lugar de require .

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

Lo anterior devolverá un hash vacío cuando el dispositivo no esté presente en params

Documentación here .