2006-01-01から1年間の記事一覧

あった

action_controller.rb:72: include ActionController::Pagination

ActionController::Pagination#paginate

はうはう。ページャー。 ぜんぜんわからん。 Paginationをどこでincludeしてる? paginateの第一引数をいじってActiveRecordのクラス名(Itemsとか)にしてるけど、それにclassで聞いてみたら「Class」。なのにfind使えちゃうのかい?

acts_as_treeとacts_as_nested_set

再帰テーブルの表現に使うそうだ。。

特異メソッドの表記

http://www.loveruby.net/ja/rhg/book/minimum.htmlから。 特異メソッドはどんなときに使うか。まずJavaやC++で言うスタティックメソッドのようなものを定義するときだ。 つまりインスタンスを生成しなくても使えるメソッドである。 こういうメソッドはRuby…

Module#append_featuresとModule#included

append_featuresが先に呼ばれるようだ。

ARを読んでみる3

require 'rubygems' require_gem 'activerecord' ActiveRecord::Base.establish_connection( :adapter => 'mysql', :host => 'localhost', :username => 'ypuser_d', :password => 'ror', :database => &#3…

なるほど、引数にアスタリスクで受け取り側は配列として扱ったり、呼び出し側は配列を展開して渡したりできるわけか。

Module#append_featuresとModule#included

なんか前に書いたことはなんか的が外れてる気がするなあ。 うまくまとめられんけど。 クラスメソッドを単に追加するだけならModule#includedの中でClass.extendさせればいいんだよなあ。 Calculationsモジュールは(mixinしないで)クラスメソッドだけ追加し…

refe便利

便利だなー

super

refeで出てこない。。 ここには載ってるな。 つか、ふつうに考えろよ>自分

String.#strip

ストリップか。ストリップストリップ。 先頭と末尾の空白文字を全て取り除きます。 空白文字の定義は " \t\r\n\f\v" です。

ARを読んでみる2

接続するデータベースはMySQL。 ActiveRecord::Base.connection クラスメソッドconnectionが定義されてるのは active_record/connection_adapters/abstract/connection_specification.rb クラスメソッド:connection if @active_connection_name && (conn = …

\wは英数字にマッチ

__FILE__と__LINE__

Rubyが実行中のファイル名と行番号

Object.module_eval

refeによると・・ モジュールのコンテキストで文字列 expr を評価してその結果を返します。 fname、lineno が与えられた場合は、ファイル fname、 行番号 lineno にその文字列があるかのようにコンパイルされ、 スタックトレース表示などのファイル名/行番…

クラスメソッドでクラス変数を参照するとき、'@@'はつけなくてもいい

ようだ。書いてみたわかった。悩んでしまった。。

ARを読もうとする試み establish_connection

お約束のestablish_connectionメソッドあたりの感想。 require 'rubygems' require_gem 'activerecord' ActiveRecord::Base.establish_connection( :adapter => 'mysql', :host => 'localhost', :username => 'rails&#3…

ARの構造をみてみる続き

自分でActiveRecord::BaseクラスやValidationsモジュールの簡易版を書いて 動かして、なんとなく分かってきた気がする。 ActiveRecord::BaseクラスでValidationsなどのmoduleをextendすると ValidationsのインスタンスメソッドはBaseクラスのクラスメソッド…

ファンクション・ベース索引

ファンクション・ベース索引を使う際に設定しておかなければならない初期化パラメータのことを忘れていた。 ファンクション・ベース索引を使用するためには、以下の設定を行うか、 SQL中に明示的にHINT句を指定する必要があります。 初期化パラメータ「QUERY…

ARの定義 ちがうみたい

moduleをクラスメソッドにするにはextendすればよいみたいなので違うみたいだ。。

ARの定義

active_record.rb ActiveRecord::Base.class_eval include ... endactive_record.rbはこうなってます。 正直、ぱっと見何やってんのかわからなかった。 なぜ、下のような定義ではないのか。 class ActiveRecord::Base include ... end (そうぞう) クラスの…

$<

csh

「$ set line = $< 知らなかったなあ。

rails.vimを使いたい

こちらをみて、幸せになれそうなrails.vimを導入。 ・・・なんでダウンロードファイルってzipなんですかね。。 zipファイルってwgetできないんですけど。。やり方がなんかあるんだろうな。 とりあえず入れてみました。 あ、sql.txtとdbext.txtがmysqlタグで…

rails-1.1.6

アップデートしますた。 # gem update rails

BLOB操作ができた

以前、BLOBにExcelファイルを入れて・取り出したらファイルが壊れる現象にソウグウした。 そこで、"hello"と書いたファイルをBLOBに入れて・取り出した結果をみてみた。 "hell"と改行コード(0x0D,0x0A)が出てる・・・ 調べてみると、BLOBデータを書き込むフ…

すごそう

db

『自社製品開発に専念したい』そんな想いに応えます 札幌から世界に挑むDBMSメーカー! 誰か使ったことあるかな?

/tmp/mysql.sockが見つからない件

そういえば、これもはまった。 データベースと接続するところで、/tmp/mysql.sockがないからダメだね とおっしゃる。 調べてみた。 /tmp/mysql.sockが見つからないって言われた 「socket」としてmysql.sockの場所を指定してやればOKだ。 舞波本では、Fedora…

Mysql::Error: Lost connection to MySQL server during query

新しいRails本を買ったのでやってます。 OSはFedoraCore5 Rails 1.1.5 ruby 1.8.4 MySQL 5.0.22 さて、さっそくはまりました。 Rakeでデータベース・ユーザーを作成するタスクを実行させたところ、エラー。 % rake db_setup (in /home/bird/src/rails/yellow…

taglistを使う

vim

ctagsをインストール %yum -y install ctags タグファイルを作成 %ctags -R --langmap=RUBY:.rb /usr/lib/ruby/1.8 /usr/lib/ruby/site_ruby taglist.vimを$VIMRUNTIME/pluginにコピー .vimrcにtagsの記述を追加 set tags=~/tags vimを再起動 :Tlistでtaglis…

Oracleのserializable

トランザクション内ではSELECT時のデータを保証する 同じレコードに更新が複数からあった場合、先勝ち後負け(ORA-08177: このトランザクションのアクセスをシリアル化できません) SELECT FOR UPDATEと同じ動作ではない(SELECT時にロックかからない・更新…