我使用以下函数显示各个字段的表单错误。
# Error Helper for Form
def show_errors(object, field_name)
if object.errors.messages[field_name][0].present?
"<label class='error'>" + object.errors.messages[field_name][0] + "</label>" if object.errors.any?
end
end
我从Application Helper类中调用它,如下所示。
<%= show_errors(@category, :name).html_safe %>
如果没有错误,我收到以下错误。
undefined method `html_safe' for nil:NilClass
答案 0 :(得分:4)
如果您没有错误,则if
块跳过,show_errors
返回nil。
您可能希望在else return ""
end
之前添加show_error
之类的内容。或者在帮助者中检查是否为零。
答案 1 :(得分:2)
或添加它也可以解决问题。
<%= show_errors(@category, :name).to_s.html_safe %>