activeadmin 형식에서base 오류 보이기

3290 단어 RubyRailsactiveadmin
activeadmin 편하죠?
다만, 조금이라도 특별한 일을 하고 싶다면 곤란한 일이 많을 것
이번에는 모델에 다음과 같은 독자 검증을 넣었을 때 틀릴 때 형식적으로 오류를 드러내지 못해 곤란해 적어뒀다.
app/models/article.rb
class Article < ApplicationRecord
  validate :custom_validate

  def custom_validate
    if condition
      errors.add(:base, 'XXXなのでダメです。')
    end
  end
end
app/admin/article.rb
ActiveAdmin.register Article do

  ...

  form do |f|
    f.inputs do
      f.input :title
      f.input :text
    end
    f.actions
  end
  # => このままだと:baseエラーが表示されない...
end

결론

semantic_errors를 사용하면 됩니다.
ActiveAdmin.register Article do

  ...

  form do |f|
    f.semantic_errors
    f.inputs do
      f.input :title
      f.input :text
    end
    f.actions
  end
end
그게 다야.

참고 자료

  • Display semantic errors after overriding controller · Issue #4826 · activeadmin/activeadmin
  • 좋은 웹페이지 즐겨찾기