sql >> Database teknologi >  >> RDS >> Mysql

Skinner:Vis vedligeholdelsesside, hvis der ikke er nogen databaseforbindelse tilgængelig

Du kan oprette en visning i hvad end din root_path-controller er:

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

Lad os sige, at du kalder denne visning "db_maintenance.html.erb". Gør dette i din controller:

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

Efter din mening kunne du sætte noget som:

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

Dette hjælper selvfølgelig kun, hvis brugeren rammer dit websteds hovedside, men du kan nemt ekstrapolere derfra. Du kan tilføje handlingen "def db_maintenance" til applikationscontrolleren og manuelt angive, hvilken visning den også skal gengive. Det er ikke perfekt, men det burde få arbejdet gjort.



  1. Ulemper ved at gemme billeder i en database?

  2. 7 tips til bedste praksis for PostgreSQL-bulkdataindlæsning

  3. Laravel 'kunne ikke finde driveren (SQL:indsæt i...'

  4. MySQL PREPARE-erklæring i lagrede procedurer