Rails をすこしだけ

今日は精神的に相当参ってました。なんかやろうとしてもすぐ気がダウンしてしまうこと数回、なんとか少しだけやる気が出た。

そこで、本を借りてて放置していたRailsをちょっとだけさわってみることに。借りたのははじめよう Ruby on Rails。とりあえず5章まで完了。

つまずいたところその1

最初にDB作るときにカラム名をcontentとするべきところをcontextと間違えた!
仕方がないので以下のように打って

ruby script/generate migration fix_column_name

できた db/migrate/002_fix_column_name.rb をこんな感じにして rake db:migrate しました。

class FixColumnName < ActiveRecord::Migration
  def self.up
    rename_column(:schedules, :context, :content)
  end

  def self.down
    rename_column(:schedules, :content, :context)
  end
end
__CODE1__

こんなんでいいよね?

つまずいたところその2

test/fixtures/schedules.yml の中身を書き換えた後、rake したときにこんなのがいっぱいでて悲しい思いをした。

ArgumentError: wrong number of arguments (0 for 1)
./test/functional/schedules_controller_test.rb:15:in `schedules'
./test/functional/schedules_controller_test.rb:15:in `setup_without_fixtures'
/usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/fixtures.rb:576:in `setup'

ぐぐったらこちらの記事

「はじめよう--」では、この後(p75-76)schedules.ymlを書き換えるので、先ほどの@first_idに渡す値をまた変える必要がある.

@first_id = schedules(:schedule1)

って書いてあったのでそうしたらテスト通った。