LoginSignup
0
0

More than 1 year has passed since last update.

ActiveAdminを使用してみる

Posted at

個人的に作成したアプリが

PythonでYouTubeとTwitterのAPIの情報を取得する

CSVでRailsのテーブルに登録

という手順。

今まではコマンドで実行していたが、視覚的にインポートをやりたいというのと、デプロイ後の管理方法が面倒なので、管理画面を実装したいなぁと思っていました。

そこで、ActiveAdminを使用することで課題がほぼ解決に。

gem "activeadmin", github: "gregbell/active_admin"
gem "active_admin_importable"

インポートもするので、二つともGemfileに記述。

でいつもの

bundle install
rake db:migrate
rails s

を順番に実行。

db/seeds.rb
AdminUser.create!(email: 'admin@example.com', password: 'password', password_confirmation: 'password') if Rails.env.development?

と記述がある通り、emailとpasswordの記載があります。

にアクセス。

rails g active_admin:resource モデル名

にて管理画面専用のモデルを作成。

今回はツイートモデルを例に

app/admin/tweets.rb
ActiveAdmin.register Tweet do
  active_admin_importable do |model, hash|
    model.create(text: hash[:text], image: hash[:image])
  end

  permit_params :text, :image
end

これで手動で登録することもできるようになりますし、インポートも可能。

課題

今回の使用用途としては困らないですが、アソシエーションしている時に登録がうまくいかなかったです。
多分paramsの設定を○○_idって感じにしなきゃいけないっぽい。
とりあえず今回の目的としてはインポートができるので、すべてOK。

備考

日本語表記に変更したり、タイムゾーンを変更できたりもするらしい。

個人的な最終形としては

Pythonで集計も定期実行にして、このインポートも定期実行にしてってやれば、ほぼメンテナンス要らずで管理ができるので、楽かなと。

そんな幻想を抱きながら、今日の作業は終了です、お疲れ様でした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0