sql >> Databasteknik >  >> RDS >> Mysql

Rails:Visa underhållssidan om ingen databasanslutning är tillgänglig

Du kan skapa en vy i vilken din root_path-kontroller än är:

map.root :controller => "foo", :action => "index"

Låt oss säga att du kallar denna vy "db_maintenance.html.erb". Gör så här i din handkontroll:

def index
  begin
    @widgets = Widget.find(:all)
  rescue Exception => e
    # This will only happen if DB stuff fails
    redirect_to :action => "db_maintenance", :error => e.message
  end
end

...

def db_maintenance
  @error = params[:error] # You might want to do something with this here or in the view
  # renders the app/views/foo/db_maintenance.html.erb view
end

Enligt din åsikt skulle du kunna sätta något i stil med:

<h1>Sorry for the inconvenience</h1>
blah blah blah. This happened because of:
<pre><code><%= @error %></code></pre>

Detta hjälper naturligtvis bara om användaren besöker din webbplats huvudsida, men du kan enkelt extrapolera därifrån. Du kan lägga till åtgärden "def db_maintenance" till programstyrenheten och manuellt specificera vilken vy den också ska rendera. Det är inte perfekt, men det borde få jobbet gjort.



  1. Mysql-transaktionsåterställning vid fel i uppdateringen

  2. Dela fast värde till länder baserat på daglig intäktsandel

  3. Få fråga från filen i SPRING BOOT med @Query

  4. Hur UNION fungerar i PostgreSQL