Beiträge von Ralf G.

Problem mit Mongrel und Rails 2.3.9

Wenn man in zweierlei Hinsicht ein wenig altmodisch ist, indem man zum einen noch die letzte Version von Rails 2, nämlich 2.3.9 verwendet, und zum anderen noch das Deployment der App mit dem guten alten mongrel_cluster implementiert hat, kommt es zu einem eigenartigen Phänomen:

Die Rails-Anwendung funktioniert einwandfrei, im Browser ist aber der von der Anwendung herausgerenderte HTML-Quelltext der Seite (oder gar nix) zu sehen. Schaut man dann in log/mongrel.PORT.log, so findet man die Ursache des Übels:

Error calling Dispatcher.dispatch 
#<NoMethodError: private method `split' called for nil:NilClass>

Oder ähnliches. Das Problem liegt irgendwo im Zusammenspiel von ActionPack und Mongrel (in der Cluster-Variante), das seit Rails 2.3.8 nicht mehr korrekt funktioniert.

Die Lösung für dieses Problem findet sich beim »P Coder«. Man benötigt einen Patch in einer Datei config/initializers/mongrel.rb. Damit funktioniert es dann wieder einwandfrei.

Tags:

RailsConf 2010: David Heinemeier Hansson

Langsam wird es ernst: Rails 3 steht vor der Tür wie sonst nur der Nikolaus, David Heinemeier Hansson redet auf der Railsconf 2010 über seine Lieblingsfeatures und gibt am Ende, nach dem Release ist vor dem Release, sogar einen Ausblick auf die Version 3.1 ;).

Tags:

Sperrung des Gleises aufgehoben

[Bild: »Sur les rails« von alpha du centaure auf flickr, merci!]

Ruhe war hier, das Blog-Gleis war gesperrt, wie das halt immer so ist mit den Blogs über die holprige Strecke der Monate und Jahre des Lebens. Wir haben inzwischen lauter Rails gemacht ;o). Und haben dieses kleine Blog vom PHP befreit. Da man sein eigenes Hundefutter bekanntlich essen soll, läuft dieses kleine Blog nun in einer Rails-Eigenentwicklung.

Da dieses Ding hier de fakto mehr ein Link- und Textgrab als eine Diskussionsveranstaltung ist, setzen wir das externe Kommentarsystem von disqus ein. Wg. einer Handvoll Kommentare den ewigen Kampf gegen Spammer, Internet-Marketing-Heinis und anderen unschönen Internet-Krankheiten zu führen, erscheint uns ein wenig zu aufwändig. Wer nicht bei »böser Ami-Dienst der Daten verkauft« kommentieren mag, kann uns ja einfach so schreiben. ;o)

Rails 3 steht vor der Tür, spannende Rails-Monate warten, Zeit wieder auf die Schiene zu kommen. Und wenn irgendwas nicht (mehr) funktioniert, einfach Bescheid geben.

Und für das »Zucken« der Beiträge im RSS-Feed zwischen »neu« und »alt« verzeihe der geneigte Leser uns bitte, eine unvermeidliche Begleiterscheinung des Datenimports.

Tags:

Rails 2.3.3

Ganz frisch: Rails 2.3.3. Neben »Bug-Fixes« gibt es ein paar neue Features, besonders die neue touch-Methode sieht ausgesprochen nützlich aus.

Tags:

RedCloth, Rubygems und die »CamelCase-Falle«

Manchmal leben gem-Maintainer ihre Kreativität am Namen ihres digitalen Kleinods aus. So heißt das Rubygem für RedCloth eben »RedCloth«, in CamelCase. Unter bestimmten Umständen in bestimmten Ruby-Installationen (keine Ahnung, wann exakt) aber legt Rubygem es eben nicht unter dem CamelCase-Namen ab, sondern in Kleinbuchstaben. Das Problem dabei: Das Gem funktioniert nicht, man rauft sich die Haare weil es nicht läuft, obwohl man doch das richtige Gem installiert hat!

Lösung: Man lege einen Symlink mit der korrekten Schreibweise an, wenn sich in /usr/lib/ruby/gems/1.8/gems/RedCloth-3.0.3/lib nur ein »redcloth.rb« statt des gewünschten »RedCloth.rb« befindet:

cd /usr/lib/ruby/gems/1.8/gems/RedCloth-3.0.3/lib
ln -s redcloth.rb RedCloth.rb

Die einzig richtig nutzbare RedCloth-Version ist übrigens 3.0.3. Wenn man sich nicht in die Geheimnisse des anders funktionierenden RedCloth 4 einarbeiten möchte, sollte man diese installieren:

gem install RedCloth -v 3.0.3

Lieber RedCloth-gem-Maintainer, wie wäre es damit, die Kreativität im Ruby-Code auszutoben und den Namen des Gem ganz schnöde in Kleinbuchstaben zu halten? ;)

Tags:

sortable_element und :hoverclass

Kleine Falle beim Scriptaculous-Helper sortable_element: Möchte man dem kleinen Helper eine CSS-Klasse als :hoverclass mitgeben, so muss man diese zweifach in Anführungszeichen packen, man achte beim folgenden Beispiel genau auf :hoverclass:

<%= sortable_element("nicethings", 
:url => sort_nicethings_path, 
:ghosting => true,
:hoverclass => "'niceclass'") %>

Tags:

Edelsteinsammlung VI

Kaum wurde Rails 2.3 final veröffentlicht, gibt es auch ein Update für das Ruby on Rails.tmbundle von Dr. Nic für des Rails-Entwicklers uneingeschränkten Lieblingseditor TextMate.

Apropos TextMate, Ruby Inside hat eine kleine Sammlung von neuen und alten Screencasts für Rails-programmierende TextMate-Benutzer zusammengestellt. Neu ist vor allem die TextMate-Reihe von Derek Neighbors.

Auch Rails gibt es schon lang genug, um in seiner Anwendung Altlasten zu haben. RailsMagazin (das Blog, nicht eines der gleichnamigen Hefte) gibt hilfreiche Tipps zum Refactoring einer Anwendung.

»the Rails way« liefert in »Storing Your Files« Ideen für den Umgang mit dem Dateisystem in einer Rails-Anwendung.

Die Ergebnisse der »Rails Hosting 2009«-Umfrage sind da, ohne größere Überraschungen.

Und noch etwas Ruby ohne Rails:

Crawler, Indexer und Suchmaschine in 200 Zeilen Ruby-Code? Jawoll: »Write an Internet search engine with 200 lines of Ruby code«.

Und wer schon immer mal die Twitter-Umwelt mit einem Bot beglücken wollte, bekommt nun das passende Ruby-Framework dazu: »Twibot: A microframework for Twitter bots in Ruby«

Tags:

Noch mehr zu lesen: The Rubyist

Noch mehr Lesestoff für Ruby- und Rails-Interessierte: Die zweite Ausgabe von »The Rubyist«. Wie beim RailsMagazine gilt: Ein auf tote Bäume gedrucktes Exemplar kann man kaufen, das PDF downloaden (auch noch die erste Ausgabe vom Sommer 2008). Ein erstes digitales Durchblättern versprach eine interessante Lektüre, schließlich muss man mal herausfinden, was sich wohl hinter »WigWug Debriefing« verbirgt…

Tags:

Rails 2.3 nähert sich...

… der offiziellen »fertigen« Version, eben erschien der RC2, »Final stop before release«, wie das offizielle Rails-Blog schreibt:

»We think we’ve ironed out all the major kinks now, but just to be sure, we’re running one last release candidate before it heads off to the presses. So please take some time to test out this release candidate. If we don’t get any reports of major blockers, we’re going to call this final within a week or two.«

Tags:

Diakonos statt vi!

vi, emacs oder nano benutzen sie ja alle. Besonders ersterer hat den Vorteil, auf ziemlich jedem unixoiden System dieser Welt installiert zu sein. Aber manchmal haben die Exoten auch ihren Charme, wie z.B. Diakonos. Das ist kein Philosoph oder Schnell-Imbiss, sondern ein Kommandozeilen-Texteditor in Ruby, der in der Absicht geschrieben wurde, in anderen (Gui-)Editoren erlernte Erwartungen und Verhaltensweisen eines Editors auch in einem Terminal wieder zu finden, Zitat von der Website:

»Frustrated by those other console editors? You already know what keys to press in your GUI applications to open, save, copy, cut, paste and undo. Why should your console text editor behave differently? Answer: it shouldn’t.«

Hm, ESC:wq irgendwer? ;)

Diakonos ist in Ruby geschrieben und in Ruby erweiter- und skriptbar. Es gibt Pakete für diverse Plattformen und Distributionen, Diakonos kann aber auch auf jedem System mit laufenden Rubygems mit gem install diakonos installiert werden.

Ich habe ihn mir mal installiert, mal schauen wie man damit arbeiten kann.

Via »Step Three: Profit!«, dessen Blogeintrag es wirklich versteht, dem Leser das kleine Progrämmchen schmackhaft zu machen, Zitat:

»My apologies for insulting your favorite text editors and programming languages, my Internet friends. I meant no harm. Just check out Diakonos for a bit and see what you think. It has a feel which is both fresh and yet somehow also classic. A “modern classic” if you will. And it’s fun. In a way I can’t really articulate, it’s just enjoyable to use.«

Tags:

Edelsteinsammlung V

Im Rails-Lager ist es derzeit ein bisschen ruhig nach all’ dem Stress zum Release von 2.3. Ein paar Edelsteine fanden sich trotzdem auf dem digitalen Samtkissen:

Im Hause Google machen sie nicht nur die komische Sprache mit der Schlange, sondern auch Ruby. Und haben zu diesem Zwecke einen »Unofficial Ruby Usage Guide« verfasst, der auch außerhalb der Google-Mauern verfügbar ist.

Wer sich ein wenig für Rubys Innereien interessiert, könnte in dem Artikel »The Ruby Object Model – Structure and Semantics« eine lohnende Lektüre finden. Damit wir das Geheimnis der »Eigenclasses« kennen…

Mehr für die praktische Seite des Rubyisten-Daseins: »How To Install A Ruby 1.8 Stack on Ubuntu 8.10 From Scratch«.

Twitter ist unser aller Lieblings, wir lieben Twitter. Deshalb lesen wir »5 Tips for Using Twitter With Ruby. Writing Twitter Clients in Ruby«.

Und Juicer ist ein kleines Werkzeug zum Zusammenpacken der in einer Rails-Anwendung notwendigen CSS- und Javascript-Dateien.

Tags:

Rails Underground 09

Wie wir jüngst berichteten, wird es dieses Jahr keine RailsconfEurope geben. Das ist die Chance für »frische« Konferenzen, in diese Lücke zu stoßen.

Nach der RailsDevConf, die bisher nur eine Ankündigung ist, gibt es nun am 24. und 25. Juli 2009 die »Rails Underground in London«. Wie man der Website entnehmen kann, läuft die Registrierung zum Preis zwischen 160 und 240 Pfund bereits. Die Veranstalter können bereits eine hochkarätige Liste von »Stars« wie Yehuda Katz, Dr Nic Williams, Geoffrey Grosenbach oder Maik Schmidt präsentieren. Wir überlegen noch. ;)

Tags:

Eine rubygems-Liste von einer Installation auf eine andere übernehmen

Mitunter steht man vor dem Problem, die Liste der in einer Ruby-Installation installierten rubygems in ein anderes System zu übernehmen. Dazu kann man sich z.B. Narnach-Gems herunterladen und benutzen, es geht aber auch recht umkompliziert mit den »Bordmitteln« eines unizoiden Systems.

Im ersten Schritt erstellt man auf dem Ausgangssystem eine Liste der installierten Gems. Da gem list die Versionsnummern mit ausgibt, muss die Ausgabe mit Hilfe von sed bereinigt werden und in einer Textdatei aufgefangen werden:

sudo gem list|sed 's/(.*)//' > alle_meine_gems.txt

Diese Textdatei alle_meine_gems.txt kopiert man auf das Zielsystem und lässt die darin aufgelisteten gems mit einem kleinen Shell-Skript installieren:

#!/bin/bash
GEMS=`cat alle_meine_gems.txt`
for g in $GEMS ;
do
 echo "Installiere $g" 
 echo "" 
 gem install $g
 echo "" 
done

Es kann sein, dass man das Skript zweimal laufen lassen muss, wenn gems ihre Abhängigkeiten nicht automatisch installieren, wie z.B. bei Rails 2.3 und rack. Und noch ein Nachteil soll nicht verschwiegen werden: Dieser Weg installiert nur die aktuellste Version der gems aus der Liste. Aber z.B. zur Installation älterer Rails-Versionen wäre dann nur noch ein wenig Handarbeit nötig, oder s.o., Narnach-gems.

Tags:

Logfiles aufbereiten mit Spike

Spike ist ein Programm für den Mac, das die Logfiles einer Rails-Anwendung hübsch übersichtlich aufbereitet und in einem separaten Fenster auf »Klick« die Details jedes Request ausgibt.

Der Entwickler sucht übrigens noch jemanden, der ihm ein schönes Icon für Spike macht. ;)

Tags:

Edelsteinsammlung III

Wer statt selbst zu programmieren lieber etwas Fertiges einsetzen möchte, kann einmal die »23 Amazing And Open Source Ruby On Rails Applications« durchgucken. Listenbloggen galore, aber wenigstens sind es nicht 10, sondern 23 »amazing« Anwendungen…

Einen kleinen aber wirkungsvollen Tipp für das Verschönern des eigenen Codes hält »softies on rails« bereit.

»Overstimulate« gibt auch Tipps: »Shipping with Rails«. Nach dem Motto: »If you haven’t shipped it you haven’t done anything.«

Robby on Rails’ »Switch to Passenger (mod_rails) in development on OSX in less than 7 minutes or your money back!« zeigt, wie man seinen Entwicklungs-Mac in 7 Minuten auf Passenger statt script/server umstellt.

»The Rails Way« kündigt eine Serie über den mitunter unschönen Akt des Dateimanagement in Web-Anwendungen an, das behalten wir mal im Auge.

Und wer gerne »Meta-Meta« liest, wird an »Rails versus Django« seine helle Freude haben. ;)

Tags:

Rails 2.3

Wer die Rails-Szene ein wenig beobachtet, dem wird nicht entgangen sein, dass Rails 2.3 so dicht vor der Tür steht, dass schon vor ein paar Tagen der »Release Candidate« erschienen ist. Diese neue Version bringt so umfangreiche Neuerungen mit, dass in den Guides eine eigene Seite mit umfangreichen Release Notes veröffentlich wurde. Von Templates für die Erstellung einer Anwendung über lokalisierten View-Templates bis hin zu im Rails-Kontext bisher nicht verwendetem Server-Gedöns wie »Rack« oder »Metal« – es gibt eine Menge zu lernen und auszuprobieren.

Wir möchten in den nächsten Tagen einige unserer Ansicht nach bemerkenswerte neue Features einzeln vorstellen, hier erst einmal ein paar Links für den ersten Überblick:

Und am Horizont wartet auch schon Rails 3.0 mit dem überraschendem Zusammenschluss von Rails und Merb. Rails bleibt agil und dynamisch!

Tags:

Edelsteinsammlung II

Das da oben ist »Rails Logo, A fresh, copyright-free logo for the Ruby on Rails Framework.« Denn bekanntlich darf man das offizielle Logo von RoR nicht benutzen, also beschloss Kevin Milden dass wir ein freies unter CC-BY-ND-Lizenz brauchen.

Schon mal redo benutzt? Peter widmet sich auf rubyrailways.com »Ruby’s Most Underused Keyword«

»Rails on Edge« präsentiert »Flash Video Tutorial with Rails, ffmpeg, FlowPlayer, and attachment_fu«. Ein Tutorial, um Videoinhalte mit dem populären Flowplayer in seine Rails-Anwendung zu bekommen.

Ähnliche Ansinnen unterstützt acts_as_unvlogable, allerdings sammelt dieses Plugin trickreich Videos von populären Video-Sites ein und stellt sie in der eigenen Site dar.

feedzirra ist eine Alternative zu den FeedTools zum Lesen von RSS in eigenen Anwendungen. Allerdings: Ich benutze FeedTools in meinem Panta Rei und habe bisher damit keinerlei Probleme gehabt.

Und RubyInside präsentiert »23 Useful Ruby 1.9 Links and Resources«, der Umstieg auf 1.9 steht uns ja in näherer Zukunft auch ins Haus.

Tags:

Edelsteinsammlung I

Neues aus der Ruby- und Rails-Welt, kurz notiert.

»Ruby Graphic Designers« ist eine neue Goggel-Gruppe welche »is targeted for designers using Ruby and want to share tips, help each other or help the community by creating design material usable by all«.

Ruby 1.9.1 wurde »released«, das ist die erste Ausgabe der 1.9-Reihe für Produktionseinsatz. Man sollte noch nicht drauf umsteigen, das Blog der Passenger-Entwickler gibt einen kleinen Überblick.

Manchmal will man einfach programmieren und keine HTML-Templates erstellen, andererseits aber auch nicht ständig den prosaischen Anblick ungestylter weißer Seiten genießen. Für solche Situationen gibt es jetzt ein »Web-App-Theme« auf github, dass Templates in typischer zwonulliger Basecamp-Lookalike-Optik zur Verfügung stellt.

Und noch eine »Rails in freier Wildbahn«-Story, erzählt von Luke Crawford, Entwickler von muxtape:

»The thing that’s so wonderful about using beautiful, appropriate tools is that they become an extension of you, your body, you fingertips, and your mind. They get out of the way and let you directly interact with the problem you are solving. Everyone’s tried to remove a screw without a screwdriver; a task quickly becomes impossible that otherwise would be trivial.«

Tags:

RailsConfEurope ist tot, es lebe RailsDevConf

Trotz der Absage der RailsConfEurope braucht die europäische Rails-Community dieses Jahr nicht auf ein »Get-Together« zu verzichten: Wie in den diversen Mailinglisten bekannt wurde, wird es irgendwo in Spanien irgendwann im Herbst die RailsDevConf geben, »100% community-driven, from developers, for developers«, wie man auf der Website lesen kann. Nähere Informationen dazu wird »as soon as things move forward« geben.

Tags:

Ruby lernen

Die größte Hürde bei routinierten »Web-Fricklern« vor dem Einsatz von Rails ist die für sie neue Programmiersprache Ruby. Viele bleiben lieber beim bewährten PHP, weil sie darin jahrelange Erfahrung und Know-How haben und setzen auf schlechte Rails-Klone. PHP-MVC-Frameworks, die von sich selbst behaupten, »wie Rails nur in PHP« zu sein und jedem, der Rails wirklich kennt, nur ein müdes Lächeln entlocken. Da gibt es zum Beispiel PHP-Frameworks, die nennen eine simple Kapselung von Datenbankabfragen tatsächlich »Active Record«…

Geistige Flexibilität sowie Bereitschaft für Neues zeigen und Ruby lernen ist angesagt. Der Autor dieser Zeilen (Ralf in dem Fall) arbeitet mit PHP seit etwa 1997, als es noch »PHP/FI« hieß. Das war aber kein Grund, nicht mal mit Ruby und Rails in eine neue Programmiersprache und -Konzepte einzutauchen und sich davon überzeugen zu lassen.

Ruby lernen also. Um den Einstieg zu finden, lohnt sich eine Reihe von Interviews mit Heroen aus der Ruby- und Rails-Szene, die das RubyLearning-Blog geführt hat. In der letzten Ausgabe war Ryan Bates, bekannt durch seine Rails-Screencasts unter dem folgerichtigen Namen »Railscasts«, an der Reihe. Unten auf der Seite unter dem Artikel findet man die Links zu den anderen Interviews der Reihe »The Path to Ruby Mastery«, wie man so sagt: »Highly Recommended!«

Tags:

Keine Railsconf Europe in 2009!

In diesem Jahr, 2009, wird es keine dritte Auflage der Railsconf Europe geben, ich zitiere von der Railsconf-Website (via David H. Hanssons Twitter):

»Although the conference was well received and we know there’s a strong commitment to Rails in the European community, we unfortunately did not generate enough revenue from the event to go forward with it this year—particularly with the economy the way it is. So we’re not planning to hold a RailsConf Europe event in 2009 but we’re still interested in holding the event again some time in the future.«

Wir waren bei der ersten Ausgabe im Jahre 2007 dabei, vom Preis-Leistungsverhältnis aber eher enttäuscht und hatten u.a. auch deshalb auf die Ausgabe 2008 verzichtet. Offensichtlich haben noch mehr Rails-Interessierte so gedacht.

Somit bleibt das Terrain der Rails-Konferenzen in Europa im Jahre 2009 den regionalen Veranstaltungen vorbehalten, die einzige deutschsprachige Konferenz, die Rails-Konferenz, wird es auch 2009 wieder geben.

Tags:

Ruby on Rails - Die Installation

Die erste Hürde, um einmal Rails auszuprobieren, ist manchmal schon die Installation von Rails. Diese ist für den Einsteiger etwas unübersichtlich. Unser Artikel, einst aus dem Bedürfnis entstanden, nicht alle Schritte jedem immer wieder neu aufschreiben zu müssen, gibt einen Überblick über die Installation auf verschiedenen Betriebssystemen. Da die Zeit nie stehen bleibt, wird er bei neuen Entwicklungen (hoffentlich) zeitnah aktualisiert.

Weiter...

Tags:

Willkommen bei »railssprech«!

Guten Tag, hier ist railssprech.de. Und das ist ein Weblog rund um »Ruby On Rails«. Nachdem wir schon viele Jahre Bloggen und auch einige Zeitschriften-Artikel über »Ruby On Rails« geschrieben haben, fanden wir es schade, dass unsere Fundstellen in der täglichen Beschäftigung mit Rails in unseren delicious-Sammlungen versauern oder in unseren privaten Wikis anderen Entwicklern mit ähnlichen Problemen nicht zugänglich sind.

Darum: Bloggen über Rails, Fundstellen, Lösungen, Anleitungen, in deutscher Sprache Ab heute, in Farbe. Von Beate Paland, in der Szene bekannt als Mit-Organisatorin der deutschsprachigen Rails-Konferenz, und Ralf Graf, der sich anfänglicher Skepsis, damals im Jahre 2005, von Rails überzeugen ließ und seitdem immer weniger Lust hat auf die Arbeit mit den frickeligen Mainstream-Systemen dieser Web-Welt.

Also dann, mal sehen, ob und wie es sich entwickelt: Sprechen wir über Rails – railssprech!

Tags:

Willkommen...

bei railssprech.de. Hier bloggen Beate Paland und Ralf Graf über Ruby on Rails, das formidable Web-Entwicklungs-Framework, das die Entwicklung von Webanwendungen aus den Untiefen der Frickelei zurück in sonnige Höhen geführt hat.

Mehr verrät das Kolophon.

Suche

Kontakt

Lizenz

Creative Commons License
zweisprech.de steht unter einer Creative Commons 3.0 Deutschland-Lizenz unter folgenden Bedingungen:

railssprech.de [ Start | Kontakt | Impressum ]
Inhalte lizenziert unter CC 3.0 DE by-nc-sa