rails
Rails-1.2.6で、ActionMailerを使って日本語(iso-2022-jp)でメール送信する場合は次のようにすればよいのだが、僕の環境では長〜〜い本文を送ろうとするとエラーになるという現象が発生した。 class Notifier iso-2022-jp?B?#{Base64.encode64('グリーティン…
RailsでのValidationはModelに対して実装する(その賛否については記事にしたい)が、標準のValidatorというかvalidates_*ヘルパーメソッドがいくつか用意されている。しかし、意外にアプリを作っているとかゆいところに手が届かないことが多いのだ。というこ…
ActiveRecordでhas_many関連の抽出にSQLを指定したい場合、:find_sqlシンボルをキーにSQL文を指定することができる。もちろん、has_manyなので、自身のモデルに関連するオブジェクトを抽出したいはずなので、自身のid(オブジェクトidではない)をSQL文に渡し…
railsに置いてトランザクションを実行するにあたって、分離レベルの設定方法がわからなくて調べてみた。ソースを追ってみると、どうも各DBMSのアダプタ実装に依存するようだ。 # ./rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.…
scaffoldをgenerateしていてふと気がついたのですが、Rails2.0だとscaffoldを生成したときにできるコントローラが複数形になります。例えば、 $ ./script/generate scaffold person とすると、people_controler.rbができちゃいます。Rails1.2だとこんなこと…
ActiveRecord(以下、AR)の関連について、直感的なようで直感的でない感じがしていて、どうもあいまいな理解になっていたので、頭の中を整理してみました。結論から言うと、次のようなルールで整理できました。(ルールは上から順に適用し、マッチしたら終わる…
railsの作法で、「idはint型でautoincrementなもの」なのかもしれませんが、例えば、都道府県マスタみたいなのをテーブルで持っておきたいような場合、私は、varcharで"01", "02"みたいなキーを振りたい派なのですが、こんな場合もidと都道府県コードを別に…
えーと。今さらながら気づいたのですが、emacs-railsなるものがあるそうです。 http://rubyforge.org/projects/emacs-rails/入れてみたらメチャ便利じゃないですか!って、実際はまだほとんどコーディングしてないんですよね。もっぱら電車の中で「Railsによ…
いろいろ調べたのですが、AWADにしっかり書いてたよ。。railsアプリのコードからはいつでもどこでも次の方法でログを吐くことができる。 logger.info logger.warn logger.error logger.fatal デフォルトでは、deveopment環境であれば、log/development.logに…
何も考えずに、この様にしようかなと思いましたが、 def initialize(my_attr) super # これであってるのか? @my_attr = my_attr end ... my = MyActiveRecord.new(my_attr) active recordだと、こうやるのが正しいのかな my = MyActiveRecord.new(:my_attr …
> rake db:test:prepareこれだけで、migrationに設定した内容でテスト用テーブルもセットアップしてくれる。便利だよ。rails
MySQL使っていて、更新日時をtimestamp型にしたいなぁと思って探していたら、column_nameをcreated_onにすると作成日時を、updated_onにすると更新日時を勝手に挿入してくれるらしい。ちなみに、created_atとupdated_atでも良いらしい。 create_table :produ…