Gem の管理は名前空間モデルをまだサポートしていません
概要
ここでTutsPlus Modular Rails Appトレーニングに従って、Modular Railsアプリケーションに取り組んでいます。
ただし、Administrate Gem をインストールし、rails generated administrate:install を実行してダッシュボードをインストールすると、以下の画像のようなエラーが発生します。
つまり、Administrated Gem は Modular Rails アプリでは動作しません。この問題を解決するにはどうすればよいですか? または、Administrate Gem で名前空間モデルをサポートするにはどうすればよいですか?
私がしたこと:
ダッシュボードをハードコーディングしようとしましたが、Administrateでは動作しません(Railsはそのエラーのため、モジュラーRailsアプリケーションでGemをうまく管理できませんが、モノリシックRailsアプリケーションでは動作します)。
解決策
この PR をマージした後、Administrate は名前空間リソースをサポートするようになりました。 名前空間モデルのソリューション例を以下に示します。ブログ名前空間に投稿モデルがあると仮定します。
モデル
app/models/blog/post.rb
次に、それを管理ダッシュボードに追加します。 この構造に従うだけで機能します。
config/routes.rb
namespace :admin do
namespace :blog do
resources :posts
end
root to: "admin_users#index"
end
#app/admin/blog/posts_controller.rb
module Admin
class Blog::PostsController < Admin::ApplicationController
end
end
#app/dashboards/blog/posts_dashboard.rb
require "administrate/base_dashboard"
class Blog::PostDashboard < Administrate::BaseDashboard
#normal stuff
end
詳細な解決策については、このディスカッションを確認してください