Tengo un formulario que se muestra de manera diferente según el parámetro con el que se llamó.Rieles: pasar parámetros con render: acción?
Ej.
testsite.local/users/new?type=client
Así que si type
era a
o b
, la forma sería mostrar diferentes campos.
Mi problema es cuando el formulario se rellena incorrectamente, porque si el usuario no se puede guardar de forma paralela, muestra el formulario con los mensajes de error predeterminados, pero también sin mi parámetro.
testsite.local/users/new
¿Cómo puedo llamar a mi render
acción y pasar a lo que sea este parámetro se establece en a ella? ¿De modo que aún puedo mantener mis mensajes de error integrados sobre por qué el formulario no pudo ser ejecutado correctamente Y que sea la forma correcta?
Aquí es mi create
acción:
def create
@user = User.new(params[:user])
roles = params[:user][:assigned_roles]
if @user.save
update_user_roles(@user,roles)
if current_user.is_admin_or_root?
flash[:message] = "User \"#{@user.username}\" created."
redirect_to users_path
else
flash[:message] = "Congrats! You're now registered!"
redirect_to app_path
end
else
render :action => 'new'
end
end
¿Qué haces cuando quieres definir lo mismo para las acciones 'create' y' update'? – Victor