我在我的模型中使用了名为validates-existence-of-uri的插件,如下所示:
class Project < ActiveRecord::Base
validates_uri_existence_of :link, :allow_redirect => false
end
它的工作和罚款。 我有一个seeds.rb文件,它使用Faker生成数据以生成网址 因此,在播种数据时,上述验证会尝试检查虚假网址,并在播种数据时对其进行评论。
所以,每次播种都会让我烦恼。有没有办法在Rails环境生产时执行验证?
答案 0 :(得分:2)
严格回答你的问题:
if Rails.env.production?
validates_uri_existence_of :link, :allow_redirect => false
end
但请不要这样做。这是一个彻头彻尾的黑客,我认为你最好找出一个更好的方法来生成测试网址,可能有些简单:
VALID_URLS = %w(http://google.com http://yahoo.com http://stackoverflow.com)
...
Project.create(:uri => VALID_URLS.rand)
ActiveSupport将一个rand实例方法添加到Array,返回一个随机元素。