形成未定义的方法`html_safe'为零:NilClass

时间:2014-06-20 19:58:01

标签: ruby-on-rails function

我使用以下函数显示各个字段的表单错误。

  # 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

2 个答案:

答案 0 :(得分:4)

如果您没有错误,则if块跳过,show_errors返回nil。 您可能希望在else return "" end之前添加show_error之类的内容。或者在帮助者中检查是否为零。

答案 1 :(得分:2)

或添加它也可以解决问题。

<%= show_errors(@category, :name).to_s.html_safe %>