maeshimaの日記

メモ書きです

2011-03-29から1日間の記事一覧

datetime形式の入力を厳密にチェックしたい場合

datetime形式のパラメータは params[:hoge][:date(1i)], params[:hoge][:date(2i)], params[:hoge][:date(3i)] のように分かれてくる。このパラメータをmass assignmentでdatetime形式のカラムの属性に代入すると、railsが気を利かせて解釈してくれてDateTim…

ActiveRecored::Base#save!についての雑感

これまでActiveRecored::Base#save!を多用してたけど、複数のモデルを一度に保存する場合、save!だと一つの「モデルのバリデーションしか行われない→エラーメッセージが一部しか表示されない」という弊害があるな。そういうときはsaveメソッドを使うといいね…

after_validation

validateの後に実行されるコールバック。validate中にエラーチェックに引っかかる項目があっても実行される。エラーをチェックする条件が複雑なものを別メソッド(やモジュール)に出して、validationするタイミングは同じにしたいようなときに使える・・・と…

migration中に変更したカラムを使いたい場合

ActiveRecord::Base#reset_column_informationを実行して、カラムの情報を一度リセットしないとエラーになってしまう。下記のソースはrailsのドキュメントからの引用。 class CreateJobLevels < ActiveRecord::Migration def self.up create_table :job_leve…

今週のRailscasts - Decent Exposure

Railscasts - Decent Exposureを見て。下記のような、よくコントローラ中に書かれる、インスタンス変数にオブジェクトを代入する処理をまとめてかけてDRYにするgem。 @articles = Article.all ざっと見た感じではなかなか使えそうな気がした。コントローラを…