usar tutorial rails español empezar ejemplos descargar curso con como ruby-on-rails-4 strong-parameters

ruby-on-rails-4 - empezar - ruby on rails tutorial español



Intentando obtener un POST para devolver 400 malas solicitudes (1)

Tengo un método de creación que crea un nuevo modelo a través de una asociación y esperaba que devolviera una respuesta 400 con texto si no había params en la solicitud POST. Sin embargo, me sale un error.

Esto está en Rails 4.0.2

métodos del controlador:

def create @cast_profile = current_user.build_cast_profile(cast_profile_params) if @cast_profile.save redirect_to cast_profile_path else render :edit end end def cast_profile_params params.require(:cast_profile).permit(:name, :email, :public) end

Si paso los params todo está bien, pero estoy tratando de probar el mal escenario de solicitud. Aquí está el error:

ActionController::ParameterMissing: param not found: cast_profile

Pude rescatarlo explícitamente pero pensé que se suponía que los parámetros fuertes lo hicieran automáticamente.


El comportamiento es el siguiente:

Manejo de llaves no permitidas

Por defecto, las claves de parámetros que no están permitidas explícitamente se registrarán en el entorno de desarrollo y prueba. En otros entornos, estos parámetros simplemente se filtrarán e ignorarán.

Además, este comportamiento se puede cambiar cambiando la propiedad config.action_controller.action_on_unpermitted_parameters en los archivos de su entorno. Si se establece en: log, los atributos no permitidos se registrarán, si se establece en: raise se generará una excepción.

( fuente )

Sugeriría rescatar de esta excepción con estado 400:

rescue_from ActionController::ParameterMissing do render :nothing => true, :status => 400 end