Skip to content

Instantly share code, notes, and snippets.

@rafamvc
Created March 8, 2011 07:09
Show Gist options
  • Save rafamvc/859976 to your computer and use it in GitHub Desktop.
Save rafamvc/859976 to your computer and use it in GitHub Desktop.
rcardo-mac:~ rafamvc$ rails new mp3store
rails gener create
create README
create Rakefile
create config.ru
a create .gitignore
create Gemfile
create app
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 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/locales
create config/locales/en.yml
create config/boot.rb
t 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 log
create log/server.log
create log/production.log
create log/development.log
create log/test.log
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 public/images
create public/images/rails.png
create public/stylesheets
create public/stylesheets/.gitkeep
create public/javascripts
e create public/javascripts/application.js
create public/javascripts/controls.js
create public/javascripts/dragdrop.js
create public/javascripts/effects.js
create public/javascripts/prototype.js
create public/javascripts/rails.js
create script
create script/rails
create test
create test/fixtures
create test/functional
create test/integration
create test/performance/browsing_test.rb
create test/test_helper.rb
create test/unit
create tmp
create tmp/sessions
create tmp/sockets
create tmp/cache
create tmp/pids
create vendor/plugins
create vendor/plugins/.gitkeep
rcardo-mac:~ rafamvc$ rails generate scaffold artist name:string
Usage:
rails new APP_PATH [options]
Options:
[--skip-gemfile] # Don't create a Gemfile
-d, [--database=DATABASE] # Preconfigure for selected database (options: mysql/oracle/postgresql/sqlite3/frontbase/ibm_db)
# Default: sqlite3
-O, [--skip-active-record] # Skip Active Record files
-r, [--ruby=PATH] # Path to the Ruby binary of your choice
# Default: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
-J, [--skip-prototype] # Skip Prototype files
-T, [--skip-test-unit] # Skip Test::Unit files
[--dev] # Setup the application with Gemfile pointing to your Rails checkout
-G, [--skip-git] # Skip Git ignores and keeps
-b, [--builder=BUILDER] # Path to an application builder (can be a filesystem path or URL)
[--edge] # Setup the application with Gemfile pointing to Rails repository
-m, [--template=TEMPLATE] # Path to an application template (can be a filesystem path or URL)
Runtime options:
-s, [--skip] # Skip files that already exist
-f, [--force] # Overwrite files that already exist
-p, [--pretend] # Run but do not make any changes
-q, [--quiet] # Supress status output
Rails options:
-h, [--help] # Show this help message and quit
-v, [--version] # Show Rails version number and quit
Description:
The 'rails new' command creates a new Rails application with a default
directory structure and configuration at the path you specify.
Example:
rails new ~/Code/Ruby/weblog
This generates a skeletal Rails installation in ~/Code/Ruby/weblog.
See the README in the newly created application to get going.
rcardo-mac:~ rafamvc$ cd m
-bash: cd: m: No such file or directory
rcardo-mac:~ rafamvc$ cd mp3store/
rcardo-mac:mp3store rafamvc$ rails generate scaffold artist name:string
invoke active_record
create db/migrate/20110308051715_create_artists.rb
create app/models/artist.rb
invoke test_unit
create test/unit/artist_test.rb
create test/fixtures/artists.yml
route resources :artists
invoke scaffold_controller
create app/controllers/artists_controller.rb
invoke erb
create app/views/artists
create app/views/artists/index.html.erb
create app/views/artists/edit.html.erb
create app/views/artists/show.html.erb
create app/views/artists/new.html.erb
create app/views/artists/_form.html.erb
invoke test_unit
create test/functional/artists_controller_test.rb
invoke helper
create app/helpers/artists_helper.rb
invoke test_unit
create test/unit/helpers/artists_helper_test.rb
invoke stylesheets
create public/stylesheets/scaffold.css
rcardo-mac:mp3store rafamvc$ rails generate scaffold album name:string release_date:date
invoke active_record
create db/migrate/20110308051731_create_albums.rb
create app/models/album.rb
invoke test_unit
create test/unit/album_test.rb
create test/fixtures/albums.yml
route resources :albums
invoke scaffold_controller
create app/controllers/albums_controller.rb
invoke erb
create app/views/albums
create app/views/albums/index.html.erb
create app/views/albums/edit.html.erb
create app/views/albums/show.html.erb
create app/views/albums/new.html.erb
create app/views/albums/_form.html.erb
invoke test_unit
create test/functional/albums_controller_test.rb
invoke helper
create app/helpers/albums_helper.rb
invoke test_unit
create test/unit/helpers/albums_helper_test.rb
invoke stylesheets
identical public/stylesheets/scaffold.css
rcardo-mac:mp3store rafamvc$ mate .
rcardo-mac:mp3store rafamvc$ rails generate migration add_column_to_album artist_id:integer
invoke active_record
create db/migrate/20110308051825_add_column_to_album.rb
rcardo-mac:mp3store rafamvc$ rake db:migrate
(in /Users/rafamvc/mp3store)
== CreateArtists: migrating ==================================================
-- create_table(:artists)
-> 0.0010s
== CreateArtists: migrated (0.0011s) =========================================
== CreateAlbums: migrating ===================================================
-- create_table(:albums)
-> 0.0015s
== CreateAlbums: migrated (0.0016s) ==========================================
== AddColumnToAlbum: migrating ===============================================
-- add_column(:albums, :artist_id, :integer)
-> 0.0006s
== AddColumnToAlbum: migrated (0.0007s) ======================================
rcardo-mac:mp3store rafamvc$ clear ^[[A
rcardo-mac:mp3store rafamvc$ rake db:migrate (in /Users/rafamvc/mp3store)
rcardo-mac:mp3store rafamvc$ rm db/
development.sqlite3 schema.rb
migrate/ seeds.rb
rcardo-mac:mp3store rafamvc$ rm db/
development.sqlite3 schema.rb
migrate/ seeds.rb
rcardo-mac:mp3store rafamvc$ rm db/development.sqlite3
rcardo-mac:mp3store rafamvc$ rake db:migrate
(in /Users/rafamvc/mp3store)
== CreateArtists: migrating ==================================================
-- create_table(:artists)
-> 0.0010s
== CreateArtists: migrated (0.0011s) =========================================
== CreateAlbums: migrating ===================================================
-- create_table(:albums)
-> 0.0015s
== CreateAlbums: migrated (0.0017s) ==========================================
== AddColumnToAlbum: migrating ===============================================
-- add_column(:albums, :artist_id, :integer)
-> 0.0006s
== AddColumnToAlbum: migrated (0.0007s) ======================================
rcardo-mac:mp3store rafamvc$ rails console
Loading development environment (Rails 3.0.4)
irb(main):001:0> Artist.new :name => "rafael"
=> #<Artist id: nil, name: "rafael", created_at: nil, updated_at: nil>
irb(main):002:0> a = _
=> #<Artist id: nil, name: "rafael", created_at: nil, updated_at: nil>
irb(main):003:0> a.save
=> true
irb(main):004:0> Artist.al
NoMethodError: undefined method `al' for #<Class:0x101fd4ba0>
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1008:in `method_missing'
from (irb):4
irb(main):005:0> Artist.all
=> [#<Artist id: 1, name: "rafael", created_at: "2011-03-08 05:22:03", updated_at: "2011-03-08 05:22:03">]
irb(main):006:0> Album.new :name => 'Li\tve', :release => "rafael\t"
ActiveRecord::UnknownAttributeError: unknown attribute: release
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1558:in `attributes='
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1554:in `each'
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1554:in `attributes='
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1406:in `initialize'
from (irb):6:in `new'
from (irb):6
irb(main):007:0> Album.new :name => 'Live', :release => "rafael"
ActiveRecord::UnknownAttributeError: unknown attribute: release
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1558:in `attributes='
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1554:in `each'
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1554:in `attributes='
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1406:in `initialize'
from (irb):7:in `new'
from (irb):7
irb(main):008:0> Album.new :name => 'Live', :release => "rafael"
ActiveRecord::UnknownAttributeError: unknown attribute: release
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1558:in `attributes='
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1554:in `each'
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1554:in `attributes='
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1406:in `initialize'
from (irb):8:in `new'
from (irb):8
irb(main):009:0> Album.new :name => 'Live', :release_date => 1.hour.ago
=> #<Album id: nil, name: "Live", release_date: "2011-03-08 04:25:02", created_at: nil, updated_at: nil, artist_id: nil>
irb(main):010:0> ab = _
=> #<Album id: nil, name: "Live", release_date: "2011-03-08 04:25:02", created_at: nil, updated_at: nil, artist_id: nil>
irb(main):011:0> a
=> #<Artist id: 1, name: "rafael", created_at: "2011-03-08 05:22:03", updated_at: "2011-03-08 05:22:03">
irb(main):012:0> ab.artist_id = 1
=> 1
irb(main):013:0> ab.save
=> true
irb(main):014:0> ab
=> #<Album id: 1, name: "Live", release_date: "2011-03-08 04:25:02", created_at: "2011-03-08 05:25:42", updated_at: "2011-03-08 05:25:42", artist_id: 1>
irb(main):015:0> ab.artist
NoMethodError: undefined method `artist' for #<Album:0x1011f5d40>
from /Library/Ruby/Gems/1.8/gems/activemodel-3.0.4/lib/active_model/attribute_methods.rb:364:in `method_missing'
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/attribute_methods.rb:46:in `method_missing'
from (irb):15
irb(main):016:0> reload!
Reloading...
=> true
irb(main):017:0> ab = Album.first
=> #<Album id: 1, name: "Live", release_date: "2011-03-08", created_at: "2011-03-08 05:25:42", updated_at: "2011-03-08 05:25:42", artist_id: 1>
irb(main):018:0> ab.artist
=> #<Artist id: 1, name: "rafael", created_at: "2011-03-08 05:22:03", updated_at: "2011-03-08 05:22:03">
irb(main):019:0> a
=> #<Artist id: 1, name: "rafael", created_at: "2011-03-08 05:22:03", updated_at: "2011-03-08 05:22:03">
irb(main):020:0> Album.new :artist => a, :name => 'Album2'
ActiveRecord::AssociationTypeMismatch: Artist(#2166235700) expected, got Artist(#2164172240)
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/associations/association_proxy.rb:260:in `raise_on_type_mismatch'
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/associations/belongs_to_association.rb:23:in `replace'
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/associations.rb:1474:in `artist='
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1558:in `send'
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1558:in `attributes='
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1554:in `each'
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1554:in `attributes='
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1406:in `initialize'
from (irb):20:in `new'
from (irb):20
irb(main):021:0> a.reload
=> #<Artist id: 1, name: "rafael", created_at: "2011-03-08 05:22:03", updated_at: "2011-03-08 05:22:03">
irb(main):022:0> Album.new :artist => a, :name => 'Album2'
ActiveRecord::AssociationTypeMismatch: Artist(#2166235700) expected, got Artist(#2164172240)
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/associations/association_proxy.rb:260:in `raise_on_type_mismatch'
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/associations/belongs_to_association.rb:23:in `replace'
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/associations.rb:1474:in `artist='
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1558:in `send'
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1558:in `attributes='
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1554:in `each'
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1554:in `attributes='
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/base.rb:1406:in `initialize'
from (irb):22:in `new'
from (irb):22
irb(main):023:0> a = Artist.first
=> #<Artist id: 1, name: "rafael", created_at: "2011-03-08 05:22:03", updated_at: "2011-03-08 05:22:03">
irb(main):024:0> Album.new :artist => a, :name => 'Album2'
=> #<Album id: nil, name: "Album2", release_date: nil, created_at: nil, updated_at: nil, artist_id: 1>
irb(main):025:0> _.save
=> true
irb(main):026:0> Album.all
=> [#<Album id: 1, name: "Live", release_date: "2011-03-08", created_at: "2011-03-08 05:25:42", updated_at: "2011-03-08 05:25:42", artist_id: 1>, #<Album id: 2, name: "Album2", release_date: nil, created_at: "2011-03-08 05:30:44", updated_at: "2011-03-08 05:30:44", artist_id: 1>]
irb(main):027:0> Album.count
=> 2
irb(main):028:0> a
=> #<Artist id: 1, name: "rafael", created_at: "2011-03-08 05:22:03", updated_at: "2011-03-08 05:22:03">
irb(main):029:0> a.albums
NoMethodError: undefined method `albums' for #<Artist:0x1022ad6d8>
from /Library/Ruby/Gems/1.8/gems/activemodel-3.0.4/lib/active_model/attribute_methods.rb:364:in `method_missing'
from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.4/lib/active_record/attribute_methods.rb:46:in `method_missing'
from (irb):29
irb(main):030:0> reload!
Reloading...
=> true
irb(main):031:0> a = Artist.first
=> #<Artist id: 1, name: "rafael", created_at: "2011-03-08 05:22:03", updated_at: "2011-03-08 05:22:03">
irb(main):032:0> a.albums
=> [#<Album id: 1, name: "Live", release_date: "2011-03-08", created_at: "2011-03-08 05:25:42", updated_at: "2011-03-08 05:25:42", artist_id: 1>, #<Album id: 2, name: "Album2", release_date: nil, created_at: "2011-03-08 05:30:44", updated_at: "2011-03-08 05:30:44", artist_id: 1>]
irb(main):033:0>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment