2011-12-15 9 views
0

私は、データ品質を保証するために広範なActiveRecord検証を組み込んだアプリケーションのモデルをいくつか持っていますが、これらには多くのユーザー入力が必要なため、ユーザーもを作成できます。レコード完全に作成するために通常必要とされる情報の一部のみを入力することによって実行されます。「クイック作成」のリラックス検証

「クイック作成」を行っているときにいくつかの検証をバイパスする方法はありますか?

これまでは@project.save(:validate=>false)を実行していましたが、コントローラのアクションで必要な検証を手動で行っていましたが、これは不合理であり、冗長なコードを作成します。これについてどうすればいいですか?

+0

これをチェックしてください(http://stackoverflow.com/questions/423160/rails-form-validation-conditional-bypass)、私はあなたが探しているものが正しいと思います。 – klaffenboeck

答えて

0

次のスニペットを別のpostから借り、それを少し変更されます。すべてのロジックは、あなたのモデルである

class Project < ActiveRecord::Base 
    validates_uniqueness_of :project, :unless => :quick_create 
    attr_accessor :quick_create 
end 

次のスニペットは、

<%= submit_tag 'Submit', :name => 'project[quick_create]' %> 

ビューに入り、あなたは「ドンあなたのコントローラーには全く触れないでください。

関連する問題