スキーマ変更を行うメソッド

スキーマ変更を行うメソッド

#カラム追加
add_column(:table_name, :column_name, :type, options)
#カラムの名前を変更
rename_column(:table_name, :column_name, :new_column_name)
#カラムの属性を変更
change_column(:table_name, :column_name, :type, options)
#カラムのデフォルト値を変更
change_column_default(:table_name, :column_name, :default)
#カラムを削除
remove_column(:table_name, :column_name)
#検索用のインデックスを追加
add_index(:table_name, :column_name, options)
#テーブルを作成
create_table(:name, option)
#テーブルの名前を変更
rename_table(:old_name, :new_name)
#テーブルを削除
drop_table(:name)
引用元: Ruby on Rails : migration 機能リファレンス - WebOS Goodies.

Ruby 配列に要素を追加する

列を生成した後で要素を追加する場合は、Array#<<メソッド、Array#unshiftメソッド、Array#pushメソッドを使用します。

Array#<<メソッドは配列の最後に、Array#unshiftメソッドは配列の最初に要素を追加することができます。

a = [1,2,3,4,5] #=> [1,2,3,4,5]
a << 99 #=> [1,2,3,4,5,99]
a.unshift(99) #=> [99,1,2,3,4,5,99]

引用元: 逆引きRuby – 配列.

Ruby 配列から重複した要素を取り除く

配列から重複した要素を取り除く

Array#uniqメソッドにより重複した要素を配列から取り除くことができます。Array#uniqメソッドには破壊的メソッドArray#uniq!が用意されています。


a = [30,20,50,30,10,10,40,50]

p a.uniq #=> [30, 20, 50, 10, 40]

a = ["/tmp","/home/","/etc","/tmp"]

a.uniq! #=> ["/tmp", "/home", "/etc"]

引用元: 逆引きRuby – 配列.

bundle install path

色々なRailsアプリでほいほいbundle installを実行するとシステムにインストールされるgemが結構カオスになってきます。

bundlerにオプションを渡してgemを任意のディレクトリにインストールし、gemをRailsプロジェクト毎に管理する

bundle install --path vendor/bundler

なお、インストールするディレクトリを変えた場合、そのディレクトリにはパスが通っていないので

bundle execを通してRailsを実行する必要があります。

bundle exec rails s

とか、railsコマンドは前にbundle execが必要

引用元: bundle installするときはpathを指定しよう | FIRN.JP.