save von ActiveRecord funktionierte nicht so, wie erwartet.
save von ActiveRecord funktionierte nicht so, wie erwartet.
ERROR: While executing gem ... (Gem::RemoteSourceException) Error fetching remote gem cache: SocketError: getaddrinfo: no address associated with hostname. (http://gems.rubyforge.org/yaml)
(Bildquelle: Performance in Rails 3 )
before_update-Methoden und ähnliches während der Migration auszuschalten, ist es oft günstig, der Migration eine eigene Version des Models zu geben.Model.delete_observers
können Observer, welche am Model lauschen, entfernt werden.
Da die Observer vom eigentlichen Model unabhängig sind, ist während der Migration nicht garantiert, dass die Observer problemlos arbeiten können.
GlassFish::Server.start(:address=>"127.0.0.1", :port=>4000) do
use Rack::CommonLogger
use Rack::ShowExceptions
map "/hello" do
use Rack::Lint
run Proc.new {[200, {"Content-Type" => "text/html"}, "Hello"]}
end
end
glassfish.yml festgelegt werdenNicht erst mit dem Bekannterwerden von Rails erfreuen sich Unit-Tests und insbesondere das Test Driven Development immer größerer Beliebtheit. Rails bringt bereits viel Funktionalität mit, damit das Testen von Models, Controllern und Views sehr vereinfacht wird.
<% my_helper do #comment %> <div>Text</div> <%= function() %> <% end %>
my_helper ist ein normaler Helper - in unserem Fall sollte er sich den Code nehmen und auf der Webseite als Text anzeigen, was auch klappte. Nur im Produktivsystem war lediglich die Ausgabe von function() zu sehen. Wieso? do. RubyMine zeigt zwar eine korrekte Syntax und auf meinem localhost-System funktioniert es auch. Warum es nur produktiv nicht klappte, bleibt ein Rätsel, wir konnten bisher nur rausfinden, dass es nicht an der Environment liegt.
User an. Da das Projekt am Anfang steht, hat der User erst mal nur ein Login. In der Migration wird auch gleich ein "admin"-User angelegt. Ein paar Tage später wird entschieden, dass beim User auch Vor- und Nachname benötigt werden. Also legt der Entwickler eine Migration an, die dem User diese Felder hinzufügt und das User-Model erhält Validierungen, damit die Vor- und Nachnamen auch befüllt werden.Während der Entwicklung tritt bei dem ein oder anderen Entwickler doch mal ein Fehler auf, auf den uns Rails mit einem Exception-Text und dem Stacktrace hinweist. So lassen sich die Fehler meist schnell finden und beseitigen. Im produktiven Einsatz sollte sowas zwar nicht mehr passieren, aber falls doch, wird mittels des Status-Codes 500 auf den internen Fehler hingewiesen und das Log mit der Exception gefüllt.
Doch was ist, wenn so ein Fehler in Mitten eines AJAX-Aufrufs passiert? Dann bleibt der Request auf dem Server hängen und der Browser erhält nie eine Antwort. Der Nutzer (egal ob Entwickler oder Endanwender) erhält keine Rückmeldung.

Letzte Kommentare