my_file.filename
注意:在我的测试模型中,我添加了验证和回调。我只有在条件匹配时才需要应用这些验证。
我可以使用%25D1%2581%25D0%25BA%25D1%2580%25D0%25B8%25D0%25BD%25D1%2588%25D0%25BE%25D1%2582
吗?
答案 0 :(得分:3)
您可以传递:if
选项来执行此操作:
validates_presence_of :password, :if => :something_is_true?
而:something_is_true
实际上是您方法中可以描述逻辑的方法。
class Test < ActiveRecord::Base # Though I would never name it 'Test'
validates_presence_of :password, :if => :should_validate_password?
def should_validate_password
# define your logic here
# at the end, it should return 'true' or 'false'
end
end
如果您想要验证实例的方法属于该实例,那么您可以将该方法作为字符串传递,如下所示:
validates_presence_of :password, if: 'admin?'
它会在当前实例上调用admin?
,如果它返回true
,它将验证密码的存在,反之亦然。