Ruby on Rails:为种子跳过'validate_on_create'语句

Jac*_*kCA 6 ruby-on-rails

我在我的一个控制器中有一个'validate_on_create'语句,我希望我的所有种子数据都可以跳过.有什么解决方案,以便我的种子文件中的create语句跳过此验证.我目前的解决方案是每次运行rake db:seed时都会注释掉验证.有点聪明吗?

Sid*_*ane 5

您是否考虑过在validate_on_create方法中检查的模型中添加属性?

例:

class MyModel < ActiveRecord::Base

  attr_accessor :skip_on_create_validation

  def validate_on_create
    unless skip_on_create_validation
      # do validation
    end
  end

end

# In db/seeds.rb
MyModel.create(:skip_on_create_validation => true, ......)
Run Code Online (Sandbox Code Playgroud)

  • 是否有等效的Rails 4?我认为不赞成`validate_on_create`,对吗? (2认同)