0

次のヘルパークラスを使用しています

# Error Helper for Form
  def show_errors(object, field_name)
    if object.errors.any? && object.errors.messages[field_name][0].present?
      "<label class='error'>" + object.errors.messages[field_name][0] + "</label>"
    else
      return ""
    end
  end

ビューでは、次を使用して

<%= show_errors(resource, :email).html_safe %>

ネストされたフォーム検証エラーのエラーを表示しようとすると、次のエラーが表示されます

undefined method `[]' for nil:NilClass

Better Errorsコンソールでデバッグすると、次のようになります

>> object.errors.messages
=> {:"company.name"=>["Please enter your Company Name.", "Please enter a valid Company Name with atleast 2 characters."], :name=>[], :email=>[], :password=>[]}

フォームで次のことを試してもアクセスできません

<%= show_errors(resource, :"company.name").html_safe %>

ヘルパーを介してエラーにアクセスするにはどうすればよいですか?

4

0 に答える 0