久しぶりにRailsをさわっていて気がついた。
validationってオブジェクトのコレクションに対応していないんではないか?
active_record_helper.rbに定義されているerror_messages_forの部分を読んでみると、
やっぱりか・・・ これだけなら、ActionHelperに複数オブジェクト用のメソッドを定義すれば良いけど、 更にテーブルを結合している場合は、そもそも更新をどうすれば良いのだろう? 色々頭に方法は浮かぶけど、一番Railsらしい書き方に未だ至らず、現在朝の3時半。 くそぉ、明日やるか・・・ くやしい くやしい くやしい くやしい 絶対明日攻略してやる!# 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
コメント