ホーム > ブログ > タグ : Ruby on Rails

Add追加するカラム名To追加先テーブル名
という記法でカラムを追加するmigrationコードを生成(generate)することができます。

例)

$ ruby script/generate migration AddPhoneToUsers phone:string

生成されたコードを確認してみましょう。
db/migrate/20100126125228_add_phone_to_users.rb
class AddPhoneToUsers < ActiveRecord::Migration
  def self.up
    add_column :users, :phone, :string
  end

  def self.down
    remove_column :users, :phone
  end
end

確認できたらrakeタスクを実行して、DBに反映させます。
$ rake db:migrate

実行環境
Rails 2.3.5

2010年01月25日

Ruby on Rails BASIC認証

Ruby on RailsでBASIC認証をかけるには、
authenticate_or_request_with_http_basicを使用します。

app/controllers/application_controller.rb
※「ユーザー名」、「パスワード」の部分は適切に設定してください。

class ApplicationController < ActionController::Base
  before_filter :authenticate

  private
  def authenticate
    authenticate_or_request_with_http_basic do |username, password|
	  username == 'ユーザー名' && password == 'パスワード'
    end
  end
end

実行環境
Rails 2.3.5

テスト実行時にLoadErrorになってしまう場合は、
-Iオプションを付けて実行します。

テストスクリプト
test/unit/hoge_test.rb

require 'test_helper'

class HogeTest < ActiveSupport::TestCase
  test "the truth" do
    assert true
  end
end

このままテストスクリプトを実行するとLoadErrorになります。
# ruby test/unit/hoge_test.rb 
test/unit/hoge_test.rb:1:in `require': no such file to load -- test_helper (LoadError)

-Iオプションを付けて実行すると、正しくテストが実行されます。
# ruby -I test test/unit/hoge_test.rb 
Loaded suite test/unit/hoge_test
Started
.
Finished in 0.152224 seconds.

1 tests, 1 assertions, 0 failures, 0 errors

実行環境
Rails 2.3.5