※備忘録です。
ActiveAdminでユーザのコメントを管理したい!
利用環境
・ruby 2.7.3
・Rails 6.1.4
前提条件
gemの activeadmin
はインストール済み
ユーザが投稿した内容: post
テーブル
その post
に対してコメント: comment
テーブルを実装済み
activeadmin
を使ってこの comment
を管理したい
エラー内容と流れ
rails g active_admin:resource Comment
を実行
> app/admin/comments.rb
ファイルを作成
上記ファイルに permit_params :content
を追加
rails s
でサーバー起動
You're trying to register ActiveAdmin::Comment as Comment,
but the existing ActiveAdmin::Resource config was built for Comment!
このようにエラーが出た。
解決方法
ActiveAdmin
にすでに用意されている comment
があるのに追加で comment
ファイルを作成してしまっているため。
つまり同じ comment
が2つ存在してしまっているエラーとなります。
ユーザー側のコメントを comment
のままで
管理者側のコメントを admin comment
に変更します。
config/initializers/active_admin.rb
# 〜〜〜〜〜〜略〜〜〜〜〜〜〜
config.comments_registration_name = 'AdminComment'
end
これでエラーは解消されました。