Home > Uncategorized > 【Rails】一部のフィールドのみvalidを実行する

【Rails】一部のフィールドのみvalidを実行する

  • 2008-02-23 (Sat) 17:16
  • Uncategorized

友達のブログで探してるって書いてたので、自分で使ってるソースを晒してみる。

# 指定したカラムのみでvalid?を実行
#
# ActiveRecord#valid_columns?(:login, :password)
#

class ActiveRecord::Errors
  # 指定したカラムのエラーを削除
  def delete(column)
    @errors.delete(column.to_s)
  end
end

module ActiveRecord::Validations
  # 指定したカラムのみをvalid?
  def valid_columns?(*columns)
    valid?
    cols = columns.flatten.collect(&:to_s)
    errors.delete_if do |column, error|
      !cols.include?(column)
    end
    errors.empty?
  end
end

* 変更 02/24 06:58*
 eachの中でdeleteやめて、delete_ifを使う様にした。

Related posts

    No Related Posts

masuidrive(増井 雄一郎)
PukiWikiなどのオープンソース活動を経て、2005年からRuby on Railsに的を絞り、WEB2.0社PingKingやニフティ社アバウトミーの開発に関わる。これまでのフリー活動から転身し、2007年は1年だけ会社員として働いた後、起業のため渡米。2008年4月にBig Canvas Inc.設立、iPhoneアプリなどの開発を行う。2009年11月に退社し、現在、米Appcelerator社のテクニカルエバンジェリスト。
Twitterは、@masuidrive

Comments:2

kusakari 08-02-26 (Tue) 10:04

ちょうどそういうプラグインを作ったことがあったので、お知らせしておきます。
良かったらお友達に教えてあげて下さい。

http://d.hatena.ne.jp/kusakari/20080126/1201324583

masuidrive 08-02-26 (Tue) 20:15

ありがとうございますー。

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://blog.masuidrive.jp/index.php/2008/02/23/rails_valid_columns/trackback/
Listed below are links to weblogs that reference
【Rails】一部のフィールドのみvalidを実行する from @masuidrive blog

Home > Uncategorized > 【Rails】一部のフィールドのみvalidを実行する

Search
Feeds
Meta

Return to page top