Screencast: Update auf Rails 3.1

Nachdem nun Rails 3.1 letzte Woche erschienen ist, werden einige, wenn möglich, Ihre aktuellen Applikationen auf die neue Version heben. Dies ist relativ einfach und ohne viel Aufwand erledigt. Somit kann man sehr schnell die neuen Funktionen wie zum Beispiel die Asset Pipeline nutzen. Ryan zeigt in dieser Woche wie das Update durchgeführt und die entsprechenden Konfigurationen setzt.

 

Downloads in verschiedenen Formaten:

mp4
mp4
webm
ogg

 

Resourcen:

Gemfile

[ruby]
gem "rails", "3.1.0"

# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem ’sass-rails‘, " ~> 3.1.0"
gem ‚coffee-rails‘, "~> 3.1.0"
gem ‚uglifier‘
end

gem ‚jquery-rails‘
[/ruby]

config/application.rb

[ruby]
if defined?(Bundler)
# If you precompile assets before deploying to production, use this line
Bundler.require *Rails.groups(:assets => %w(development test))
# If you want your assets lazily compiled in production, use this line
# Bundler.require(:default, :assets, Rails.env)
end

# …

# Enable the asset pipeline
config.assets.enabled = true

# Version of your assets, change this if you want to expire all your assets
config.assets.version = ‚1.0‘
[/ruby]

config/environments/development.rb

[ruby]
# comment out this line:
# config.action_view.debug_rjs = true

# Do not compress assets
config.assets.compress = false

# Expands the lines which load the assets
config.assets.debug = true
[/ruby]

config/environments/test.rb

[ruby]
# Configure static asset server for tests with Cache-Control for performance
config.serve_static_assets = true
config.static_cache_control = "public, max-age=3600"

# Allow pass debug_assets=true as a query parameter to load pages with unpackaged assets
config.assets.allow_debugging = true
[/ruby]

config/environments/production.rb

[ruby]
# Compress JavaScripts and CSS
config.assets.compress = true

# Don’t fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = false

# Generate digests for assets URLs
config.assets.digest = true
[/ruby]

views/layouts/application.html.erb

[html]
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "application" %>
[/html]

.gitignore

[bash]
.sass-cache/
[/bash]

app/assets/javascripts/application.js

[javascript]
//= require jquery
//= require jquery_ujs
//= require_self
//= require_tree .
[/javascript]

app/assets/stylesheets/application.css

[css]
/*
*= require_self
*= require_tree .
*/
[/css]

Screencast: Asset Pipeline Grundlagen

Einer der großen Neuerungen in Rails 3.1 ist die Asset Pipeline. Die Asset Pipeline unterstützt bei der Entwicklung von CSS und JavaScripts, indem Tasks wie Minify, Coffeescript-Kompilierung, etc. ein integraler Teil des Frameworks geworden ist. Wie es benutzt wird und welche Vorteile es bietet zeigt Ryan in dieser Woche in seinem Screencast.

 

Downloads in verschiedenen Formaten:

source code
mp4
m4v
webm
ogv

 

Resourcen:

bash

[bash]
bundle open jquery-rails
rails s -e production
rake assets:precompile
[/bash]

app/assets/anything/greeting.txt.erb

[html]
Hello world <%= 1 + 1 %>!
[/html]

app/assets/javascripts/application.js

[javascript]
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require_tree ./public
// or
//= require_directory .
[/javascript]

app/assets/javascripts/admin/categories.js.coffee

[javascript]
alert("hello!")
[/javascript]