Screencast: Das Rails API Gem

 

Downloads in verschiedenen Formaten:

mp4
m4v
webm
ogg

 

Resourcen:

terminal

gem install rails-api
rbenv rehash
rails-api new todo
rails g scaffold task name
rake middleware
diff api_middleware.txt full_middleware.txt

tasks_controller.rb

include ActionController::MimeResponds
include ActionController::Helpers
include ActionController::Cookies
include ActionController::ImplicitRender

# GET /tasks
# GET /tasks.json
def index
  @tasks = Task.all

  # respond_to do |format|
  #   format.json { render }
  #   format.xml { render xml: @tasks }
  # end
end

views/tasks/index.json.rabl

collection @tasks 
attributes :id, :name

config/application.rb

config.middleware.insert_after ActiveRecord::QueryCache, ActionDispatch::Cookies

Screencast: Rails 3 mit Rack

 

Download:

Download(12.1 MB, 8:48)
Alternativer Download für iPod & Apple TV(12 MB, 8:48)

 

Resourcen:

 

Quellcode:

# routes.rb
root :to => "home#index"
root :to => HomeController.action(:index)
root :to => HomeApp

match "/about" => redirect("/aboutus")
match "/aboutus" => "info#about"

resources :products
match "/p/:id" => redirect("/products/%{id}")

match "/processes" => ProcessesApp.action(:index)

# Gemfile
gem "sinatra"

# lib/home_app.rb
class HomeApp < Sinatra::Base
  get "/" do
    "Hello from Sinatra!"
  end
end

# lib/processes_app.rb
class ProcessesApp < ActionController::Metal
  include ActionController::Rendering
  
  append_view_path "#{Rails.root}/app/views"
  
  def index
    @processes = `ps -axcr -o "pid,pcpu,pmem,time,comm"`
    render
  end
end
<!-- app/views/processes_app/index.html.erb -->
<h1>Processes</h1>
<pre><%= @processes %></pre>

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

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.