2008-09-01から1ヶ月間の記事一覧

RJSなどのAjax処理中に例外が発生した場合に、通常の例外画面を出したい場合

app/controllers/application.rbで以下のようにかくとできます(もしくは、libでうまく上書きするか)。 def rescue_action_locally(exception) add_variables_to_assigns @template.instance_variable_set("@exception", exception) @template.instance_varia…

Railsでトランザクショントークン(ダブルサブミット、2重登録対策)を使う

double_submit_protectionを使いましょう。 ただし、2008/9/11現在、sessionをクリアしていないというバグ?があります。なので、 http://github.com/DianthuDia/double_submit_protection/ な感じでgithubの使い方を学びながら軽く修正してみました。 インス…

ActiveRecord::Errorsにあえて、削除やマージをつけてみる

lib/extension.rb module Extension def included( recipient ) recipient.extend self::ClassMethods _this_class = self recipient.class_eval { include _this_class::InstanceMethods } end alias_method :extended, :included end lib/errors_extension…

モデルでhelperを使う方法

$(RAILS_ROOT)/helpers/model_helper.rb module ModelHelper #インスタンスメソッド def validate_name end def self.append_features(base) # :nodoc: super base.extend ClassMethods end module ClassMethods # クラスメソッド def convert end end end …