!!! Listings zum Artikel "Aussergewoehnlich auf Schienen" !!! von Denny Carl in iX 6/07, S. 124 !!! Listing 1: config/database.yml development: adapter: mysql encoding: utf8 database: trainspotr_development username: root password: host: localhost test: adapter: mysql encoding: utf8 database: trainspotr_test username: root password: host: localhost production: adapter: mysql encoding: utf8 database: trainspotr_production username: root password: host: localhost !!! Listing 2: HTML Trainspotr
(MAIN)
!!! Listing 3: layout.css #page { width: 950px; border: 1px solid black; } #header { border-bottom: 1px solid black; } #nav_wrapper { width: 197px; float: left; } #main_wrapper { width: 750px; float: left; border-left: 1px solid black; } #nav, #main { margin: 10px; } #footer { border-top: 1px solid black; } !!! Listing 4: Controller class HomeController < ApplicationController def index @headline = "Willkommen bei Trainspotr." @message = "Sie haben Fotos von seltenen Loks? Teilen Sie diese mit anderen Trainspottern!" end end !!! Listing 5 class CreateTrainspots < ActiveRecord::Migration def self.up create_table :trainspots do |t| t.string :train t.string :location t.date :date t.text :notes t.timestamps end end def self.down drop_table :trainspots end end !!! Listing 6: app/views/trainspots/new.html.erb

Neue Zugsichtung anlegen

<%= error_messages_for :trainspot %> <% form_for(@trainspot) do |f| %>

Zug oder Lok
<%= f.text_field :train %>

Ort der Aufnahme
<%= f.text_field :location %>

Datum und Uhrzeit
<%= f.datetime_select :date %>

Bemerkungen
<%= f.text_area :notes %>

<%= f.submit "Speichern" %>

<% end %> <%= link_to 'Übersicht', trainspots_path %> !!! Listing 7: app/views/trainspots/edit.html.erb

Zugsichtung bearbeiten

<%= error_messages_for :trainspot %> <% form_for(@trainspot) do |f| %>

Zug oder Lok
<%= f.text_field :train %>

Ort der Aufnahme
<%= f.text_field :location %>

Datum und Uhrzeit
<%= f.datetime_select :date %>

Bemerkungen
<%= f.text_area :notes %>

<%= f.submit "Übernehmen" %>

<% end %> <%= link_to 'Übersicht', trainspots_path %> !!! Listing 8: app/views/trainspots/show.html.erb

Zugsichtung <%=h @trainspot.train %>

Ort der Aufnahme:
<%= h @trainspot.location %>

Datum und Uhrzeit:
<%= h @trainspot.date %>

Bemerkungen:
<%= h @trainspot.notes %>

<%= link_to 'Bearbeiten', edit_trainspot_path(@trainspot) %> | <%= link_to 'Übersicht', trainspots_path %>

!!! Listing 9: app/views/trainspots/index.html.erb

Zugsichtungen

<% for trainspot in @trainspots %> <% end %>
Zug oder Lok Ort der Aufnahme Datum und Zeit Bemerkungen
<%= h trainspot.train %> <%= h trainspot.location %> <%= h trainspot.date %> <%= h trainspot.notes %> <%= link_to 'Anzeigen', trainspot %> | <%= link_to 'Bearbeiten', edit_trainspot_path(trainspot) %> | <%= link_to 'Entfernen', trainspot, :confirm => 'Sind Sie sicher?', :method => :delete %>

<%= link_to 'Neue Zugsichtung anlegen', new_trainspot_path %>

!!! Listing 10: class TrainspotsController < ApplicationController before_filter :find_trainspot, :only => [:edit, :update, :show, :destroy] ... private def find_trainspot @trainspot = Trainspot.find(params[:id]) end end !!! Listing 11: app/views/trainspots/_form.html.erb

Zug oder Lok
<%= f.text_field :train %>

Ort der Aufnahme
<%= f.text_field :location %>

Datum und Uhrzeit
<%= f.datetime_select :date %>

Bemerkungen
<%= f.text_area :notes %>