久しぶりにRailsをさわっていて気がついた。
validationってオブジェクトのコレクションに対応していないんではないか?
active_record_helper.rbに定義されているerror_messages_forの部分を読んでみると、
# file active_record_helper.rb, line 103
def error_messages_for(object_name, options = {})
options = options.symbolize_keys
object = instance_variable_get("@#{object_name}")
if object && !object.errors.empty?
content_tag("div",
content_tag(
options[:header_tag] || "h2",
"#{pluralize(object.errors.count, "error")} prohibited this
#{object_name.to_s.gsub("_", " ")} from being saved"
) +
content_tag("p", "There were problems with the following fields:") +
content_tag("ul", object.errors.full_messages.collect { |msg|
content_tag("li", msg) }),
"id" => options[:id] || "errorExplanation",
"class" => options[:class]
|| "errorExplanation"
)
else
""
end
end
やっぱりか・・・
これだけなら、ActionHelperに複数オブジェクト用のメソッドを定義すれば良いけど、
更にテーブルを結合している場合は、そもそも更新をどうすれば良いのだろう?
色々頭に方法は浮かぶけど、一番Railsらしい書き方に未だ至らず、現在朝の3時半。
くそぉ、明日やるか・・・
くやしい
くやしい
くやしい
くやしい
絶対明日攻略してやる!
カテゴリ
Railsトラックバック(0)
このブログ記事を参照しているブログ一覧: error_messages_forって複数レコードに対応出来ない?
このブログ記事に対するトラックバックURL: http://hackmylife.net/mt/mt-tb.cgi/402
















コメントする