scaffold-03再度まとめ
aptanaでNewprojectとして作成する。
mysqlへログインする。
$mysql5 -u root mysql> show databases;
/lib/tasks/base.rakeを下記の内容にて作成する。
env = ENV['RAILS_ENV'] || 'development' database = "chap_#{env}" task :connect_db => [:environment] do ActiveRecord::Base.establish_connection( :adapter => 'mysql', :host => 'localhost', :username => 'root', :database => 'mysql', :socket => '/opt/local/var/run/mysql5/mysqld.sock' ) end task :setup_db => [:connect_db] do ActiveRecord::Schema.define do create_database database end end task :destroy_db => [:connect_db] do ActiveRecord::Schema.define do drop_database database end end
データベースを作成する。
$ rake setup_db (in /Users/monote/dev/rails/chap0425) -- create_database("chap_development") -> 0.0453s monote$
モデルを作成する。
$ ruby script/generate model member
データベースの要素を作成する。
/db/migrate/001_create_members.rb
class CreateMembers < ActiveRecord::Migration def self.up create_table :members do |t| t.column :text, :string t.column :create_at, :datetime end end def self.down drop_table :members end end
テーブル/項目作成。
$ rake db:migrate (in /Users/monote/dev/rails/chap0425) == CreateMembers: migrating =================================================== -- create_table(:members) -> 0.0027s == CreateMembers: migrated (0.0030s) ==========================================
スキャッフォールド作成。
$ ruby script/generate scaffold Member main exists app/controllers/ exists app/helpers/ create app/views/main exists app/views/layouts/ exists test/functional/ dependency model :0:Warning: Gem::SourceIndex#search support for Regexp patterns is deprecated exists app/models/ exists test/unit/ exists test/fixtures/ identical app/models/member.rb identical test/unit/member_test.rb identical test/fixtures/members.yml create app/views/main/_form.rhtml create app/views/main/list.rhtml create app/views/main/show.rhtml create app/views/main/new.rhtml create app/views/main/edit.rhtml create app/controllers/main_controller.rb create test/functional/main_controller_test.rb create app/helpers/main_helper.rb create app/views/layouts/main.rhtml create public/stylesheets/scaffold.css
これで完成。
エラーが表示されるようだったら、再起動。