次のヘルパークラスを使用しています
# 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 %>
ヘルパーを介してエラーにアクセスするにはどうすればよいですか?