松永です。
僕も全く同じ問題で悩みました。N_も動かないので,挙動としてはgettextがrequireされていないかのようですよね。
そこでライブラリやらモジュールやらをrequireしたりincludeしたりして色々試してみると,ActiveFormのサブクラスで「 include ActiveRecord::Validations」をやると動くようになりました。試してみてください。
宮本さんの環境でしたら,
class MultipleCreate < ActiveForm
include ActiveRecord::Validations
attr_accessor :from_on, :to_on
って感じです。
はじめまして。宮本です。
非ActiveRecordのValidationのためにActiveFormプラグインを使ってみたところ、error_message_for で undefined method `gettext' となります。ActiveForm以外ではgettextは正常に動作しています。また、gettextを停止させるとActiveFormのvalidationは正常に動作します。
AcitiveFormを設定する以外はgettextは通常どおりで特に何も指定していません。gettextの説明ではActiveFormでも動作すると理解したのですが。非ActiveRecordのValidationについてはRecipesやその他の方法も試してみたのですが、力不足で思うように動作しないのでActiveFormに頼りたいところなんですが。環境は以下のとおりです。
Ruby version 1.8.4 (i486-linux)
RubyGems version 0.9.0
Rails version 1.2.1
Active Record version 1.15.1
Action Pack version 1.13.1
Action Web Service version 1.2.1
Action Mailer version 1.3.1
Active Support version 1.4.0
Environment development
GetText version 1.9.0
モデル
require 'active_form'
class MultipleCreate < ActiveForm
attr_accessor :from_on, :to_on
#N_("MultipleCreate|from_on")
#N_("MultipleCreate|to_on")
validates_presence_of :from_on, :to_on
end
gettextはenvironment.rb と application_controller.rb で指定しています。
--
ML: rails@ruby.ml.fdiary.net
使い方: http://QuickML.com/