Ho un modulo che viene visualizzato in modo diverso a seconda del parametro con cui è stato chiamato.Rails: passa i parametri con render: action?
Es.
testsite.local/users/new?type=client
Quindi, se type
era a
o b
, la forma visualizzerebbe campi diversi.
Il mio problema è quando il modulo è compilato in modo errato, perché se l'utente non può essere salvato correttamente, rende il modulo con i messaggi di errore predefiniti, ma anche senza il mio parametro.
testsite.local/users/new
Come posso chiamare il mio render
azione e passare qualunque cosa questo parametro è impostato su di esso? In modo che possa ancora mantenere i miei messaggi di errore incorporati sul motivo per cui il modulo non può essere implementato correttamente E avere la forma corretta?
Ecco la mia create
azione:
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
Cosa fai quando vuoi definire la stessa cosa per l'azione 'create' e' update'? – Victor