Editor Backup files (xxx.html.erb.bak) werden geladen


#1

Hallo Forum, ich habe einen Fehler, den ich nicht verstehe:

Es wird nicht der aktuelle Code geladen / ausgeführt /in Fehlermeldungen
angezeigt (xxx.html.erb), sondern die Backup files des Editors
(xxx.html.erb.bak).

Es läuft Rails v2.3.2 (Ich bin neu in Rails. Wie installiert man Rails
2.0.2?
“gem install rails” hat v 2.3.2. auf meiner windows xp machine
installiert)

Situation:

  1. In meiner Anwendung sind einige files (xxx.html.erb) wie gewünscht im
    richtigen Verzeichnis.
    Diese habe ich mit meinem Editor (i.e. UltraEdit) von Hand erstellt:
    /rails_apps/coconut/app/views/flights/show.html.erb
    /rails_apps/coconut/app/views/flights/_new_seat.html.erb
    /rails_apps/coconut/app/views/flights/_seat_list.html.erb

  2. Der Editor speichert backup files der letzten Version der files mit
    der file extension .bak (xxx.html.erb.bak), wie:
    /rails_apps/coconut/app/views/flights/show.html.erb.bak
    /rails_apps/coconut/app/views/flights/_new_seat.html.erb.bak
    /rails_apps/coconut/app/views/flights/_seat_list.html.erb.bak

  3. Wenn ein Fehler auftritt, wird die Fehlerseite angezeigt, die den
    Code der backup files (xxx.html.erb.bak) betrifft, nicht des
    vorhanden(!) xxx.html.erb files!!!
    So werden nie die neuesten files/code (xxx.html.erb) ausgeführt bzw.
    angezeigt

  4. Wenn ein backup file vorhanden ist (i.e.
    app/views/flights/show.html.erb.bak), zeigt die Rails error page den
    Inhalt des backup file (xxx.thml.erb.bak) an, nicht den des aktuelle
    file (xxx.html.erb):

####### START #################

Errno::ENOENT in Flights#show

Showing app/views/flights/show.html.erb.bak where line #29 raised:

No such file or directory -
C:/InstantRails/rails_apps/coconut/app/views/flights/_new_seat.html.erb.bak

Extracted source (around line #29):

26:
27: <%= render :partial=>“seat_list”, :locals=>{:seats=>@flight.seats}
%>
28:
29: <%= render :partial=>“new_seat”,
:locals=>{:seat=>Seat.new(:flight_id=>@flight.id)} %>
30:
31: <%= link_to ‘Edit’, edit_flight_path(@flight) %> |
32: <%= link_to ‘Back’, flights_path %>

####### END #################

  1. Wenn ich das entsprechende backup file des Editors lösche und das
    aktuelle xxx.htm.erb file trotzdem an Ort und Stelle ist, erhalte ich
    folgende Fehlermeldung:

####### START #################

Error message: “Missing template flights/_seat_list.erb in view path
app/views”

####### END #################

  1. Irgend welche Ideen, warum Rails nicht die xxx.html.erb files lädt?
    Ist dies ein Fehler von Rails v2.3.2?

#2

Hi Mike.

Am 17. März 2009 11:43 schrieb Mike J. removed_email_address@domain.invalid:

Es läuft Rails v2.3.2 (Ich bin neu in Rails. Wie installiert man Rails
2.0.2?
“gem install rails” hat v 2.3.2. auf meiner windows xp machine
installiert)

“gem install rails --version 2.0.2” installiert Dir Rails v2.0.2.

Nur eine Vermutung zu Deinen Problemen: Lässt Du vielleicht
Dateiendungen
ausblenden?

Viele Grüße
Nicolai


#3

Hallo Nicolai,

nein, Dateiendungen werden hier angezeigt. (Unter Windows ist das
virentechnisch präventiv mehr als angebracht).

Habe das Verhalten auf mehreren Rails 2.3.2 nachgestellt. Jedes Mal
werden die .bak-Dateien geladen. Ich muss explizit eine xxx.html.erb
speichern mit “speichern unter…”, um sie (mit gleichem Namen) zu
überschreiben. Dabei wird auch die .bak (mit altem Stand) überschrieben.
Und diese neue .bak wird von Rails geladen. Nicht wie gewünscht die
xx.html.erb.

Viele Grüße
Mike


#4

Hallo Mike,

nur mal so eine Vermutung, ohne dass ich jetzt konkret weiß, wie Rails
damit umgeht. Kann es sein, dass die Dateien von Rails in
alphabetischer Reihenfolge geladen werden? Ich kann das Szenario bei
mir nachstellen, wenn ich eine show.html.haml und show.html.erb habe.
Es wird die erb geladen.

Grüße Stefan


basiszwo
Stefan B.
email: removed_email_address@domain.invalid
www: www.basiszwo.com