Rails4にrails_adminを導入して綺麗な管理画面が出来るまで


最近はRubyOnRailsをごりごりいじって色々やってます。
その中でrails_admin gemを導入する機会があったのですが、結構つまづいてしまったので記録として残しておこうと思います。

Rails – 4.1.0
Ruby – 2.1.0
rails_admin – 0.6.2
devise – 3.2.4

まずはGemfileに以下を追記します。

rails_adminでは管理者ログインとしてDevise gemを使うことが出来ます。
その他にもSorceryやManuallyというgemも使えるようですが、自分はDevise gemしか使ったことないのでDeviseにします。

そしてインストールしてdeviseをインストールします。

色々出てきますが、フラッシュメッセージの部分だけ修正します。

app/views/layouts/application.html.erb

追記した部分を色でつけておきました。

次はmodelを作ります。admin_user というmodelでも作りますか

管理者は直接DBにデータを入れたいため、:registerableと:recoverableを消しておきます。

app/models/admin_user.rb

generateしたときに生成されたマイグレーションファイルの中からもregisterableとrecoverableは外しておきます。

db/migrate/****_devise_create_admin_users.rb

ここまで出来たらマイグレーションしておきましょう。

次はようやくrails_adminをがちゃがちゃします。インストールしましょう。そのときにどのパスで入れるようにするか聞かれるので今回は /admin_user でやってみたいと思います。

でここからdeviseと連携させます。色々な記事では自動的に連携されてるっぽいのですが、僕の場合はそうはいかなかったので手動でやります。

config/initializers/rails_admin.rb

ここで大切なのは今回、admin_userとして使用するため、シンボルを :admin_user に変更、9行目の部分も current_admin_user に変更しました。まだこういうとこ慣れてないって感じます・・・

んで次はrouteをちょっといじります。デフォルトの状態ではコンフリクトしてしまうので順番を上下逆にします。
4行目と5行目を逆にして devise_for が上にくるようにしましょう。

少し長かったですが、これで終わりです!あとはコンソールでユーザー作って実際にログインしてみましょう!

これで localhost:3000/admin_user にアクセス出来るのでアクセスしましょう!うまくいってればログイン画面に飛ばされ、ログインすると綺麗な画面が出てくるはずです!!

色々高機能らしいrails_admin、これから色々触ってみます!!

頑張って読んでます。面白い!

メタプログラミングRuby
Paolo Perrotta
アスキー・メディアワークス
売り上げランキング: 26,917

更新情報はFacebookページで!

ブログの更新、読んで役立つ他ブログの記事などを更新しています。




関連のある記事


質問があればこちらからどうぞ

コメントを残す

メールアドレスが公開されることはありません。


*