新手问题 跳过 validate 的方法?

sundevilyang · 2012年10月23日 · 最后由 knwang 回复于 2012年10月24日 · 3767 次阅读

migration 过程中调用某个方法向数据库写入数据,model 里面要验证某个字段,rake db:migrate 的时候会出错

原来的

survey = Survey.create(:title=>current_survey[:title], :name=>current_survey[:name])

上网 google 了下,修改后的

survey = Survey.create({:title=>current_survey[:title], :name=>current_survey[:name]}, :without_protection => true)

问题没有可以得到解决。

除了:without_protection => truemodel.save(:validate => false) 还有其他的方法吗?

哈哈哈哈。。你可以试试:

Survey.connection.execute(sql) ActiveRecord::Base.connection.execute(sql)

或者是自己写一个 ActiveRecord::Base 下的方法,create_without_validate

update_attribute 跳过 validation.

#2 楼 @knwang update_attribute has been deprecated in favor of update_column

#3 楼 @camel 以前没注意到。。udpate_column 是个更好的名字。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号