J'ai créé l'application rails 5 et j'ai le code suivant dans le contrôleur et les vues pour montrer les messages flash. J'ai vu beaucoup de questions de ce genre mais je n'ai pas pu résoudre le problème.Rails 5 flash ne fonctionne pas pour la redirection
côté contrôleur
respond_to do |format|
if @trigger.update(trigger_params)
flash[:success] = 'Trigger was successfully updated.'
format.html { redirect_to edit_project_trigger_path(@trigger, project_secret_key: @project.secret_key) }
format.json { render :show, status: :ok, location: @trigger }
else
error = ''
@trigger.errors.full_messages.each do |msg|
error += "#{msg} <br>"
end
flash.now[:error] = error
format.html { render :new }
format.json { render json: @trigger.errors, status: :unprocessable_entity }
end
end
vue latérale
<% if flash[:error].present?%>
<div class="alert alert-danger alert-message alert-message-common" role="alert">
<%= flash[:error].html_safe %>
</div>
<% end %>
<% if flash[:notice].present? %>
<div class="alert alert-success alert-message alert-message-common" role="alert">
<%= flash[:notice].html_safe %>
</div>
<% end %>
<% if flash[:alert].present? %>
<div class="alert alert-danger alert-message alert-message-common" role="alert">
<%= flash[:alert].html_safe %>
</div>
<% end %>
<% if flash[:success].present?%>
<div class="alert alert-success alert-message alert-message-common" role="alert">
<%= flash[:success].html_safe %>
</div>
<% end %>
Il est spectacle lors de l'utilisation d'alerte mais les messages de succès ne sont pas représentés. Y at-il un problème dans les rails 5 ou tout problème dans mon code?
J'espère que le travail d'alerte en raison de rendu de page et le succès ne fonctionne pas en raison de la redirection.
Vous ne définissez pas une valeur 'flash [: succès]' dans le code que vous nous témoignez ... est-il plus de code que cela? dans quelles circonstances vous attendriez-vous à voir quelque chose dans 'flash [: succès]'? –
@TarynEast Je veux montrer le message de succès une fois les données mises à jour avec succès en db. J'ai été utilisé flash [: avis] et flash [: succès] dans le même but. – anandh
1. Changer la classe css pour tous les types en alerte-danger (Puisque l'alerte fonctionne) à des fins de test. 2. Ensuite, essayez ceci [solution] (http://stackoverflow.com/questions/42013906/why-redirects-from-a-null-session-action-wont-support-flash-in-rails/42017336#42017336). – Omkar