Devise でユーザと管理者を分けて扱う


2013年02月06日

Rails で認証機能を入れようとした時に有名な gem は Devise ですよね。最近始めたばかりだからあまり分からないけどきっとそうだ、そうに違いない。…まぁともかく、Devise に最近触れているのですが、ユーザとは別に管理者用のテーブル作ってそっちは管理者のみ入れるようにしたい、という状況になりました。

基本的な導入方法はまぁそこら辺のウェブページなりを見てもらうとして、

rails g devise user
rails g devise admin

みたいな感じで分ければ良いってのは大体分かりますよね。

でもこの先で引っかかって、view を

rails g devise:views

で作ったら、両方とも同じ view を見てしまったんですよ。

昨日に続いてぐぐりました。というかプログラミングしててぐぐらない日は無いです。あれこれ探してみたのですが、大概ユーザテーブルに管理者フラグ立てる方法ばかりだったんですよね。その方法も考えはしましたが、今回それは使いたくなかったので上記の方法に拘りました。

そして結果的に見つかりました、この解決方法。見つけたというか、Devise の公式wiki に書いてありました’,、 ( ´∀`) ',、

y=ー( ゚д゚)・∵. ターン

rails g devise:views user

みたいな感じで view も分けられたんですね、盲点でした。その他諸々親切に解説が書かれているので、一度目を通すべきですね。https://github.com/plataformatec/devise#configuring-multiple-models

かくいう私はまだ目を通せておりません…。

Rails のroutes にて


2013年02月05日

仕事で Ruby on Rails を使ってます、まだまだ初心者の領域ですが。Ruby 自体も今の仕事に就いてから初めて触り始めたので、Ruby の仕様なのか Rails の仕様なのか分からなかったりで色々大変ですw

今日ぶつかった問題は結局は Rails の仕様だったわけですが、昔からある Rails のコード、というか routes.rb で path_prefix なるものが指定されていたんです。そこでこれが一体どういうものか分からずぐぐってみたんですね、「rails routes path prefix」と。そしたらどうにも欲しい回答が得られず、あーだこーだ悩みました。rake routes で結果を出力しても後ろに{path_prefix => 略} としか出ないわけでイミフ。

近くにいた同じくあまり Rails に慣れてない人に尋ねてもはっきりとした答えが返ってこなかったのですが、ぐぐってもらって分かりました。これ、Rails2 までの仕様で Rails3 になってから廃止されたんですね。「rails routes path_prefix」とぐぐれば割とすぐに日本語のページで解説されてました、アンダーバーが足りなかった(ノ∀`)

Rails の話のようでぐぐり力が足りなかったという、そんなお話し。

このblog について


2013年02月01日

ここは Web エンジニアである shibuso による独りよがりな自己満足 blog です。意識が高くないから何かしかけないと本当に何もしないため、何かしら動けるためにとりあえず作ってみました。

内容としては技術的な事だったりゲームやアニメの事だったり適当にやっていく予定です。興味があればお付き合いください。