to_xml

Create the application.

bundle exec /home/rubys/git/rails/railties/bin/rails new depot --skip-bundle --dev
      create  
      create  README
      create  Rakefile
      create  config.ru
      create  .gitignore
      create  Gemfile
      create  app
      create  app/assets/images/rails.png
      create  app/assets/javascripts/application.js
      create  app/assets/stylesheets/application.css
      create  app/controllers/application_controller.rb
      create  app/helpers/application_helper.rb
      create  app/mailers
      create  app/models
      create  app/views/layouts/application.html.erb
      create  app/mailers/.gitkeep
      create  app/models/.gitkeep
      create  config
      create  config/routes.rb
      create  config/application.rb
      create  config/environment.rb
      create  config/environments
      create  config/environments/development.rb
      create  config/environments/production.rb
      create  config/environments/test.rb
      create  config/initializers
      create  config/initializers/backtrace_silencers.rb
      create  config/initializers/inflections.rb
      create  config/initializers/mime_types.rb
      create  config/initializers/secret_token.rb
      create  config/initializers/session_store.rb
      create  config/initializers/wrap_parameters.rb
      create  config/locales
      create  config/locales/en.yml
      create  config/boot.rb
      create  config/database.yml
      create  db
      create  db/seeds.rb
      create  doc
      create  doc/README_FOR_APP
      create  lib
      create  lib/tasks
      create  lib/tasks/.gitkeep
      create  lib/assets
      create  lib/assets/.gitkeep
      create  log
      create  log/.gitkeep
      create  public
      create  public/404.html
      create  public/422.html
      create  public/500.html
      create  public/favicon.ico
      create  public/index.html
      create  public/robots.txt
      create  script
      create  script/rails
      create  test/fixtures
      create  test/fixtures/.gitkeep
      create  test/functional
      create  test/functional/.gitkeep
      create  test/integration
      create  test/integration/.gitkeep
      create  test/unit
      create  test/unit/.gitkeep
      create  test/performance/browsing_test.rb
      create  test/test_helper.rb
      create  tmp/cache
      create  tmp/cache/assets
      create  vendor/assets/javascripts
      create  vendor/assets/javascripts/.gitkeep
      create  vendor/assets/stylesheets
      create  vendor/assets/stylesheets/.gitkeep
      create  vendor/plugins
      create  vendor/plugins/.gitkeep
bundle install
Using rake (0.9.2.2) 
Using i18n (0.6.0) 
Using multi_json (1.0.4) 
Using activesupport (3.2.0.beta) 
Using builder (3.0.0) 
Using activemodel (3.2.0.beta) 
Using erubis (2.7.0) 
Using journey (1.0.0.20111022124133) 
Using rack (1.3.5) 
Using rack-cache (1.1) 
Using rack-test (0.6.1) 
Using hike (1.2.1) 
Using tilt (1.3.3) 
Using sprockets (2.1.2) 
Using actionpack (3.2.0.beta) 
Using mime-types (1.17.2) 
Using polyglot (0.3.3) 
Using treetop (1.4.10) 
Using mail (2.3.0) 
Using actionmailer (3.2.0.beta) 
Using active_utils (1.0.1) 
Using braintree (2.13.1) 
Using json (1.6.3) 
Using money (3.7.1) 
Using activemerchant (1.20.0) 
Using arel (3.0.0.pre.20111119204131) 
Using tzinfo (0.3.31) 
Using activerecord (3.2.0.beta) 
Using activeresource (3.2.0.beta) 
Using bcrypt-ruby (3.0.1) 
Using bundler (1.0.21) 
Using highline (1.6.8) 
Using net-ssh (2.2.1) 
Using net-scp (1.0.4) 
Using net-sftp (2.0.5) 
Using net-ssh-gateway (1.1.0) 
Using capistrano (2.9.0) 
Using coffee-script-source (1.1.3) 
Using execjs (1.2.9) 
Using coffee-script (2.2.0) 
Using rack-ssl (1.3.2) 
Using rdoc (3.11) 
Using thor (0.14.6) 
Using railties (3.2.0.beta) 
Using coffee-rails (3.2.0.beta) 
Using haml (3.1.4) 
Using htmlentities (4.3.1) 
Using jquery-rails (1.0.19) 
Using mysql2 (0.3.10) 
Using rails (3.2.0.beta) 
Using sass (3.1.11) 
Using sass-rails (3.1.1.alpha.0) 
Using sqlite3 (1.3.4) 
Using test-unit (2.4.2) 
Using uglifier (1.1.0) 
Using will_paginate (3.0.2) 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

Generating our first model and associated scaffolding

rails generate scaffold Product title:string
      invoke  active_record
      create    db/migrate/20111203013856_create_products.rb
      create    app/models/product.rb
      invoke    test_unit
      create      test/unit/product_test.rb
      create      test/fixtures/products.yml
       route  resources :products
      invoke  scaffold_controller
      create    app/controllers/products_controller.rb
      invoke    erb
      create      app/views/products
      create      app/views/products/index.html.erb
      create      app/views/products/edit.html.erb
      create      app/views/products/show.html.erb
      create      app/views/products/new.html.erb
      create      app/views/products/_form.html.erb
      invoke    test_unit
      create      test/functional/products_controller_test.rb
      invoke    helper
      create      app/helpers/products_helper.rb
      invoke      test_unit
      create        test/unit/helpers/products_helper_test.rb
      invoke  assets
      invoke    coffee
      create      app/assets/javascripts/products.js.coffee
      invoke    scss
      create      app/assets/stylesheets/products.css.scss
      invoke  scss
      create    app/assets/stylesheets/scaffolds.css.scss

Apply the migration

rake db:migrate
mv 20111203013856_create_products.rb 20110711000001_create_products.rb
==  CreateProducts: migrating =================================================
-- create_table(:products)
   -> 0.0017s
==  CreateProducts: migrated (0.0018s) ========================================
 

Start the server.

Create a product

get /products/new

New product


Back
post /products
  • product[title] => CoffeeScript
You are being redirected.
get http://localhost:3000/products/1

Product was successfully created.

Title: CoffeeScript

Edit | Back

respond_to xml requests

edit app/controllers/products_controller.rb
  def show
    @product = Product.find(params[:id])
 
    respond_to do |format|
      format.xml { render xml: @product.to_xml }
      format.html # show.html.erb
      format.json { render json: @product }
    end
  end
get /products/1.xml

NoMethodError in ProductsController#show

undefined method `xmlschema' for "2011-12-03 01:39:03.430347":String

Rails.root: /var/www/rtest/work-193-32/depot

Application Trace | Framework Trace | Full Trace
app/controllers/products_controller.rb:20:in `block (2 levels) in show'
app/controllers/products_controller.rb:19:in `show'

Request

Parameters:

{"id"=>"1",
 "format"=>"xml"}

Show session dump

Show env dump

Response

Headers:

None

Expected at least 1 element matching ".stdout", found 0.

Traceback:
  toXml.rb:31:in `block (2 levels) in <class:ToXmlTest>'
  /home/rubys/git/gorp/lib/gorp/test.rb:149:in `call'
  /home/rubys/git/gorp/lib/gorp/test.rb:149:in `block (2 levels) in <class:TestCase>'
  toXml.rb:30:in `block in <class:ToXmlTest>'

Environment

Sat, 03 Dec 2011 01:39:03 GMT
echo $PATH
/home/rubys/.rvm/gems/ruby-1.9.3-p0/bin:/usr/lib/git-core:/home/rubys/.rvm/gems/ruby-1.9.3-p0@global/bin:/home/rubys/.rvm/rubies/ruby-1.9.3-p0/bin:/home/rubys/.rvm/bin:/home/rubys/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
node -v
v0.4.9
/home/rubys/.rvm/rubies/ruby-1.9.3-p0/bin/ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
gem -v
1.8.10
bundle show
Gems included by the bundle:
  * actionmailer (3.2.0.beta)
  * actionpack (3.2.0.beta)
  * active_utils (1.0.1)
  * activemerchant (1.20.0)
  * activemodel (3.2.0.beta)
  * activerecord (3.2.0.beta)
  * activeresource (3.2.0.beta)
  * activesupport (3.2.0.beta)
  * arel (3.0.0.pre.20111119204131 6525b40)
  * bcrypt-ruby (3.0.1)
  * braintree (2.13.1)
  * builder (3.0.0)
  * bundler (1.0.21)
  * capistrano (2.9.0)
  * coffee-rails (3.2.0.beta 2120408)
  * coffee-script (2.2.0)
  * coffee-script-source (1.1.3)
  * erubis (2.7.0)
  * execjs (1.2.9)
  * haml (3.1.4)
  * highline (1.6.8)
  * hike (1.2.1)
  * htmlentities (4.3.1)
  * i18n (0.6.0)
  * journey (1.0.0.20111022124133 e05701c)
  * jquery-rails (1.0.19)
  * json (1.6.3)
  * mail (2.3.0)
  * mime-types (1.17.2)
  * money (3.7.1)
  * multi_json (1.0.4)
  * mysql2 (0.3.10)
  * net-scp (1.0.4)
  * net-sftp (2.0.5)
  * net-ssh (2.2.1)
  * net-ssh-gateway (1.1.0)
  * polyglot (0.3.3)
  * rack (1.3.5)
  * rack-cache (1.1)
  * rack-ssl (1.3.2)
  * rack-test (0.6.1)
  * rails (3.2.0.beta f1a534a)
  * railties (3.2.0.beta)
  * rake (0.9.2.2)
  * rdoc (3.11)
  * sass (3.1.11)
  * sass-rails (3.1.1.alpha.0 3c24e4f)
  * sprockets (2.1.2)
  * sqlite3 (1.3.4)
  * test-unit (2.4.2)
  * thor (0.14.6)
  * tilt (1.3.3)
  * treetop (1.4.10)
  * tzinfo (0.3.31)
  * uglifier (1.1.0)
  * will_paginate (3.0.2)
rake about
About your application's environment
Ruby version              1.9.3 (x86_64-linux)
RubyGems version          1.8.10
Rack version              1.3
Rails version             3.2.0.beta
JavaScript Runtime        Node.js (V8)
Active Record version     3.2.0.beta
Action Pack version       3.2.0.beta
Active Resource version   3.2.0.beta
Action Mailer version     3.2.0.beta
Active Support version    3.2.0.beta
Middleware                ActionDispatch::Static, Rack::Lock, #<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x000000026cbcc0>, Rack::Runtime, Rack::MethodOverride, ActionDispatch::RequestId, Rails::Rack::Logger, ActionDispatch::ShowExceptions, ActionDispatch::DebugExceptions, ActionDispatch::RemoteIp, ActionDispatch::Reloader, ActionDispatch::Callbacks, ActiveRecord::ConnectionAdapters::ConnectionManagement, ActiveRecord::QueryCache, ActionDispatch::Cookies, ActionDispatch::Session::CookieStore, ActionDispatch::Flash, ActionDispatch::ParamsParser, ActionDispatch::Head, Rack::ConditionalGet, Rack::ETag, ActionDispatch::BestStandardsSupport
Application root          /var/www/rtest/work-193-32/depot
Environment               development
Database adapter          sqlite3
Database schema version   20110711000001
git log -1
commit f1a534af98950efd9969deea1540717c4516d673
Author: Jon Leighton <j@jonathanleighton.com>
Date:   Thu Dec 1 17:55:27 2011 +0000

    Remove the need for type_cast_attribute.
    
    This is good because it reduces duplication.