我在我的用户模型中有一个验证,它检查输入文本是否有值:
validate :picture_name
...
...
...
def picture_name
errors[:picture].push "no_name" if namePicture.blank?
end
html文本字段:
<input type="text" name="namePicture" />
在我看来,我想检查 @user.errors[:picture] 是否仅包含1 个错误并且错误文本是“no_name”(no_name 是图片名称验证添加的错误):
<% if @user.errors.count.eql? 1 && @user.errors['picture'] == "no_name" %>
<h1> test works </h1>
<% else %>
<h1> test doesn't works </h1>
<% end %>
但我不知道为什么它总是向我显示“测试不起作用”,即使 errors['picture'] 只包含(一个)“no_name”作为错误!
我的 if 语句有错误吗?要不然是啥 ?
谢谢你