2006-01-01から1年間の記事一覧
rails の設定は、ほとんどベースクラスのクラスメソッドで行う。 設定する場所は config/environment.rb クラス定義のとき config/environment.rb では、config(Rails::Configuration)オブジェクトを使う。 config . action_controller は、ActionController…
ActionController のバリデーション ActionController のバリデーションエラーは、フラッシュに保存する。 class HogeController < ApplicationController verify :only => :アクション名, :session => :セッションキー, :add_flash => { :notice => '何かメ…
実装の仕方 メソッドシンボル class HogeController < ApplicationController before_filter :foobar private def foobar end end ブロック class HogeController < ApplicationController before_filter do |controller| end end クラス class HogeFilter d…
実装の仕方 インスタンスメソッドを定義 class Hoge < ActiveRecord::Base def before_save end end ブロック class Hoge < ActiveRecord::Base before_save do |model| end end メソッドシンボル class Hoge < ActiveRecord::Base before_save :foobar prot…
対応するアクションが見つからない場合 method_missing が定義されている場合 method_missing を呼び出す レスポンスが生成されていない場合、テンプレートを呼び出す テンプレートが見つからなければ、'Template is missing' method_missing が定義されてい…
URL <===> config/routes.rb <===> パラメータ(@params) パターンコンポーネント :パラメータ名 *パラメータ名 (※配列) / (※コンポーネントの区切り) :controller (※モジュールに含まれるコントローラは'/'で区切られる) リクエストURLからパラメータを取得 …
ActiveRecord::Base#attributes は、クエリの選択列のこと ActiveRecord::Base.columns は、マッピングしているスキーマの列のこと create table my_hoges ( id int not null auto_increment, aaa varchar(30) not null, bbb varchar(30) not null, primary …
オーバーライドしたとき、親クラスのメソッドを呼ぶには super
rubyの「真」は、falseとnil以外 (数値の 0 は true)
フレームはオブジェクト(self((メタクラス、クラス/モジュール、インスタンス 'すべてがオブジェクト'))と定義のある場所((self.classとは限らない))cbase)をもつ ブロックは関数本体(body)とローカル変数(scope)と定義の属す場所*1(klass)をもつ フレームが…
log/環境名.log ActiveRecord, ActionController では、logger属性、ビューでは、@logger ActionView::Helpers::DebugHelper#debug Kernel#p のHTML版のようなもの script/console モデルのデバッグ script/breakpointer BreakPoint#breakpoint
railsにデフォルトで用意されている実行環境名 development test production 環境名が使われる場所 script/server -e 環境名 環境変数 RAILS_ENV config/environments/環境名.rb config/database.yml の各セクションの先頭は、「環境名: 」 log/環境名.log
self.foo = 'hoge' # setterメソッドが呼ばれる foo = 'hoge' # ローカル変数fooへの代入と解釈される
すべてのデータベース mysqldump --opt --all-databases > dump.sql mysql < dump.sqlデータベース mysqldump --opt --databases データベース名 データベース名 ... > dump.sql mysql < dump.sqlテーブルとデータ mysqldump --opt データベース名 > dump.sq…
埋め込まれたコードの直後の改行を抑制するには - をつける。 <% for item in @items -%> foo bar <br/> <% end -%></br/>
Kernel#load 指定したファイルを無条件にロードする。 Kernel#require 1度読んだファイルは2度読みされない。拡張子は、.soまたは.rbのみで、また拡張子は自動補完される。 Module#include クラスにモジュールをMix-in Object#extend オブジェクトの特異クラ…
メタクラス モジュール/クラス インスタンス Module, Class module ,class で作り(定義)、定数へ代入(クラス名は定数) Class#new で作り(インスタンス化)、変数へ代入 モジュール クラス インスタンス化 × ○ Mix-in ○ × モジュール (Moduleのインスタンス) …
メソッド呼び出しのとき、最後のパラメータとしてハッシュを指定するときは、中括弧を省略できる メソッド定義のとき、'*'は多重代入のルールに従う 左辺の最後の'*'は、対応する左辺右辺の要素を配列として代入する。対応する要素がなければ、空の配列を代…
日本語インストーラでインストールした場合、 LANGUAGE 環境変数が設定されてしまう。 設定している場所は、 /etc/environment
unset
名前解決のせいで遅くなってるっぽい。 do_not_reverse_lookup で回避。 require 'webrick' Socket.do_not_reverse_lookup = true srv = WEBrick::HTTPServer.new({:DocumentRoot => '/home/foo/public/', :BindAddress => '0.0.0.0', :Port => 3000}) trap(…
オプションには long形式と short形式(1文字)がある オプション引数 short形式の場合、-xオプション引数 long形式の場合、--xxx=オプション引数 複数のshort形式オプションは、まとめても可 -abc は、-a -b -c と同じ オプションの終了を表すには -- wget -o…
config/environment.rb で $KCODE = "UTF8" config/database.yml で encoding: utf8 MySQL の /etc/mysql/my.cnf で、[client]と[mysqld]を default-character-set = utf8 文字コードとは関係ないが、debianだと /var/run/mysqld/mysqld.sock なので、 confi…
リングバッファ dmesg /var/log/dmesg syslogd /etc/init.d/sysklogd で起動 /etc/syslog.conf で設定 ほとんどのログは /var/log/ に置かれる 中でも重要なのは /var/log/syslog
パーティションを切るには cfdisk ファイルシステムをフォーマットするには mkfs.ext3 ext3 lost+found 書き込み中のデータの断片 新規作成された直後のext3には、lost+foundディレクトリだけがある状態 /etc/fstab mountコマンドは、デバイスファイルまたは…
パラメータ展開フラグ ${(展開フラグ)変数名} プロンプト展開(PROMPT EXPANSION) PROMPT変数で適用される特別な展開のこと? print -P でも適用することができる
http://d.hatena.ne.jp/xaxe/20061002オプション -r デタッチしたセッションに再接続 -ls セッション一覧 キーバインド (prefix) d デタッチ (prefix) : コマンド入力 (prefix) [ コピーモード 移動はviライク スペースキーでマーク 履歴バッファがあり、ス…
zshのfgは fg %番号
dist-upgrade で地道に etch へ移行した。 /etc/apt/apt.conf で、APT::Default-Release "testing"; openssh-server の debconf で、disable challenge-response は no
% sudo -s # gem install vim-ruby # exit % vim-ruby-install.rbvim-ruby-install.rbを実行すると、インストール先を聞かれるので、/home/ユーザ/.vimを選択する。.vimrcに2タブの設定をする。 au FileType ruby set ts=2 sw=2 expandtab au FileType eruby…