Screencast: Model Versioning

Ryan Bates hat diese Woche einen weiteren Screencast veröffentlicht. In dieser Version behandelt er das Thema Model Versionierung. Für die Versionierung der Models setzt er das gem vistal_versions ein und zeigt wie es verwendet wird.

Downloadlinks:

Download (14.4 MB, 9:28)

Alternativer Download für iPod & Apple TV (10.4 MB, 9:28)

Weitere Resourcen zu diesem Screencast:

Verwendung in der Konsole

[bash]
sudo rake gems:install
script/generate vestal_versions_migration
script/generate migration version_existing_pages
rake db:migrate
[/bash]

Quellcode:

[ruby]
# config/environment.rb
config.gem ‚laserlemon-vestal_versions‘, :lib => ‚vestal_versions‘, :source => ‚http://gems.github.com‘

# models/page.rb
class Page < ActiveRecord::Base
versioned
end

# version_existing_pages migration
say_with_time "Setting initial version for pages" do
Page.find_each(&:touch)
end

# pages_controller.rb
def show
@page = Page.find(params[:id])
@page.revert_to(params[:version].to_i) if params[:version]
end

# script/console
p = Page.all
p.versions
p.revert_to(7.minutes.ago)
p.content
p.revert_to(:last)

[/ruby]

[xhtml]
<p>
<%= link_to "Edit", edit_page_path(@page) %>
| Version <%= @page.version %>
<% if @page.version > 1 %>
| <%= link_to "Previous version", :version => @page.version-1 %>
<% end %>
<% if params[:version] %>
| <%= link_to "Latest version", :version => nil %>
<% end %>
</p>
[/xhtml]

Railscasts von Ryan Bates

Ryan Bates erstellt schon seit über zwei Jahren jede Woche einen Screencasts zum Thema Rails und allem was dazugehört. Viele werden seine Videos bereits kennen, aber alldiejenigen für die es neu ist, können sich auf ein Portfolio von inzwischen 176 Screencasts freuen.

In der folgenden Liste findet ihr alle bisher erschienen Screencasts mit ihren Titeln.
Die Videos sind sehr gut gemacht und wir hoffen es ist auch etwas für euch dabei.

August 2009

176. Searchlogic
175. AJAX History and Bookmarks

July 2009

June 2009

May 2009

April 2009

156. Webrat

March 2009

February 2009

January 2009

December 2008

138. I18n

November 2008

136. jQuery

October 2008

September 2008

August 2008

July 2008

118. Liquid

June 2008

May 2008

April 2008

March 2008

February 2008

January 2008

December 2007

November 2007

October 2007

September 2007

August 2007

July 2007

June 2007

May 2007

April 2007

March 2007