Actieve beheerder - flash-berichten verschijnen niet op de pagina

Ik probeer een melding weer te geven na omleiding naar een pagina, maar deze wordt niet weergegeven.

Hier is de omleiding -

redirect_to :action => :index, :notice => "My redirect"

U kunt het bericht in de URL zien maar er lijkt geen code te zijn in de actieve admin om het weer te geven.

Hebt u ideeën om het in een actieve beheerder weer te geven?

16
Actieve beheerder genereert de weergaven, dus ik weet het niet.
toegevoegd de auteur Alex, de bron
heb je een: <% = flash [: notice]%> in jouw ogen?
toegevoegd de auteur Cygnusx1, de bron

2 antwoord

Er lijkt een probleem te zijn dat ik nog niet heb opgespoord, maar als je tot die tijd op zoek bent naar een work-around, dan is dit wat ik deed:

member_action :test do
  flash[:notice] = "This is a test notice!"
  redirect_to :action => :index
end

Het probleem dat ik zie is dat wanneer je : notice in de methode redirect_to plaatst, het bericht url is gecodeerd en aan de URL is toegevoegd

member_action :test do
  redirect_to :action => :index, :notice => "This is a test notice!"
end

resulteert in

/admin/model?notice=This+is+a+test+notice!

which is less than ideal. I noticed a change to the active_admin documentation that includes putting {} around the first parameter to redirect_to to fix this problem, however, for me, this resulteert in an error.

member_action :test do
  redirect_to {:action => :index}, :notice => "This is a test notice!"
end

which resulteert in

syntax error, unexpected tASSOC, expecting '}'
    redirect_to {:action => :index}, :notice => "This...

Ik heb een reactie geplaatst op dat specifieke pull-verzoek @ active_admin in github en hopelijk heeft iemand misschien een andere suggestie, want ik ben stumped.

In elk geval zal misschien een van deze oplossingen voor u werken. Succes.

25
toegevoegd
U ondervindt problemen met de ruby-syntaxis. Probeer haakjes toe te voegen: redirect_to ({action:: index}, let op: 'Whatever')
toegevoegd de auteur chrpes, de bron
flash [: notice] work around werkte voor mij. Ik had er een uur lang mee geworsteld tot ik dit antwoord had gevonden.
toegevoegd de auteur jevy, de bron
Het gebruik van flash [: notice] in de member-actie werkte niet correct voor mij (zou niet verdwijnen), maar de bovenstaande oplossing van @chrpes deed dat wel.
toegevoegd de auteur SexxLuthor, de bron

Active Admin geeft geen flash-berichten weer, het is van mening dat ze worden gerenderd in de lay-out en deze rendert. Wanneer u active_admin: install generator uitvoert, vermeldt het dat:

$ rails g active_admin:install
...
Some setup you must do manually if you haven't yet:
...
3. Ensure you have flash messages in app/views/layouts/application.html.erb. For example:

   
<%= notice %>


<%= alert %>

4
toegevoegd
Ik heb ze aan mijn lay-out toegevoegd, maar ik wil een flitsbericht weergeven in een weergave die is gemaakt door actieve beheerder
toegevoegd de auteur Alex, de bron
de uitvoer waarnaar u hierboven verwijst, is afkomstig van het devise install-gedeelte van de installatie van active_admin. met andere woorden: het is aan te bevelen dat u uw lay-outs bijwerkt met een bericht-/waarschuwingsveld. dit heeft niets te maken met hoe Active_admin zijn bericht-/waarschuwingsberichten weergeeft.
toegevoegd de auteur sorens, de bron