Screencast: Mountbare Engines

Engines kommen in Rails 3.1 wieder „zurück“ bzw. sie wurden überarbeitet und bieten nun mehr Möglichkeiten als noch in Rails 2.

Downloads in verschiedenen Formaten:

source code

mp4

m4v

webm

ogv

Resourcen:

bash

[bash]
rails -v
rails plugin new uhoh –mountable
rails g controller failures index
rails g model failure message:text
rake db:migrate
rake uhoh:install:migrations
cd test/dummy
rails g controller simulate failure
[/bash]

uhoh/failures_controller.rb

[ruby]
module Uhoh
class FailuresController < ApplicationController
def index
@failures = Failure.all
end
end
end
[/ruby]

uhoh/failures/index.html.erb

[html]
<h1>Failures</h1>
[/html]

config/routes.rb

[ruby]
root :to => "failures#index"
[/ruby]

config/initializers/exception_handler.rb

[ruby]
ActiveSupport::Notifications.subscribe "process_action.action_controller" do |name, start, finish, id, payload|
if payload[:exception]
name, message = *payload[:exception]
Uhoh::Failure.create!(:message => message)
end
end
[/ruby]

test/dummy/config/routes.rb

[ruby]
mount Uhoh::Engine => "/uhoh", :as => "uhoh_engine"
[/ruby]

test/dummy/app/controllers/simulate_controller.rb

[ruby]
def failure
# redirect_to uhoh_engine.root_url
raise "Simulating an exception"
end
[/ruby]

Rails 2.3: Templates, Engines, Rack, Metal und mehr

Rails 2.3 ist erschienen!
Diese Version enthät einige Erneuerungen, die das Framework ein weiteres mal verbessert und die Entwicklung erleichtert.

Hier eine kurze Übersicht über die Neuerungen:

  • Templates: Erlauben das Erstellen von Rails-Applikationen nach einem selbstentwickletetn Schema, gewünschten gems und mehr.
  • Engines: Nachdem dieses Feature eine Zeit lang stiefmütterlich behandlet wurde, hat es nun in Rails 2.3 wieder eine Aktualisierung erfahren. Vereinfacht sind Engines eigenständige Rails-Applikationen, die in bestehende Rails-Applikationen integriert werden können, samt Routing, Models, etc.
  • Rack: Die neue Middleware, die zwischen der Rails-Applikation und dem Webserver sitzt.
  • Metal: Für schnelle Applikationsteile, die nicht den Rails-Stack oder das Railsrouting durchlaufen müssen.
  • Nested forms: Eingebettete Forms sind nun leichter umzusetzen.

Dies ist eine nur sehr grobe Übersicht über die Erneuerungen und Verbesserungen in diesem Release.

Weitere Deatils dindet ihr unter http://guides.rubyonrails.org/2_3_release_notes.html

Das Update könnt ihr mit folgendem Befehl installieren.

gem install rails

Diejenigen die Passenger als Zielplatform benutzen, sollten auch diese auf den aktuellsten Stand bringen. Da ältere Versionen von Passenger nicht mit Rails 2.3 zusammen arbeiten.

Wir wünschen euch viel Spaß mit dem neuen Release.