【Rails】devise使って認証機能を追加してみる

改訂新版 基礎Ruby on Rails (IMPRESS KISO SERIES)

改訂新版 基礎Ruby on Rails (IMPRESS KISO SERIES)

ということで
railsdeviseというgemを使って、認証を追加してみましょう。


1.Gemfileに以下を追加

まずはGemfileに追加しましょう。

gem 'devise'

で、おなじみのbundle install。

bundle install

2.インストール&設定

railsで使用するためには、generateコマンドでインストールします。

rails g devise:install

を実行すると、以下のファイルが作られます。

  • config/initializers/devise.rb
  • config/locales/devise.en.yml

ちなみにこんなメッセージが出力されます。

Some setup you must do manually if you haven't yet:

1. Ensure you have defined default url options in your environments files. Here
is an example of default_url_options appropriate for a development environment
in config/environments/development.rb:

config.action_mailer.default_url_options = { :host => 'localhost:3000' }

In production, :host should be set to the actual host of your application.

config/environments/development.rbに上記の設定を追加しましょう。
認証時に送られるメールのURLがhostに設定した内容になります。

2. Ensure you have defined root_url to *something* in your config/routes.rb.
For example:

root :to => "home#index"

config/routes.rbにrootの設定をしましょう。
既にあれば不要。homeでなくてもいいと思います。(確認はしてませんが。。)

3. Ensure you have flash messages in app/views/layouts/application.html.erb.
For example:

<%= notice %>

<%= alert %>

認証直後のメッセージが表示されます。

4. If you are deploying on Heroku with Rails 3.2 only, you may want to set:

config.assets.initialize_on_precompile = false

On config/application.rb forcing your application to not access the DB
or load models when precompiling your assets.

Heroku&rails3.2のときに必要みたい。
今回は追加しません。

5. You can copy Devise views (for customization) to your app by running:

rails g devise:views

3.モデル作成

認証で使用するアカウントの管理モデルを作成します。
とは言っても、コマンド一発です。

下記はUserというモデル名ですが
別にUserじゃなくてもいいです。

rails g devise User

実行すると
migrationファイル、モデル、テストのファイルができ、
routesの設定が追加されます。

rake db:migrate

で、テーブルを作成しましょう。

あとはデータを追加して、

http://localhost:3000/users/sign_in
にアクセスするとログイン画面が見れます!

あとは、ログイン画面のカスタマイズや文言の表示を日本語にすることもできるので
自分の好きなようにカスタマイズしましょう。

MacBook Proを買ったので、環境構築してみた。

発表があって、その夜に購入して
1週間ぐらいで来ました!

MacBook Pro

というわけで、環境構築してみました!(メモ)

参考URL
http://kidomah.hatenablog.com/entry/2013/07/31/235916
http://qiita.com/hachi8833/items/2ce82ec5713edef75782

アプリもろもろ

ツール

  • Homebrew
    • インストール超便利!!
  • iTerm2

使ったことないけど、よく目にするのでとりあえず入れてみた。

http://kronus9.sblo.jp/article/70494690.html
  • zsh
    • 便利なシェル
  • z
    • 深い階層のディレクトリ移動に便利、
brew install z
以下、.zshrcに設定

# z
. `brew --prefix`/etc/profile.d/z.sh
function precmd () {
   z --add "$(pwd -P)"
}

フォント・レイアウト

  • oh my zsh
    • zsh のテーマを変更できる
http://qiita.com/udzura/items/0d08d71d809bfd8c5981
  • Ricky
    • プログラミングフォント

Ruby

  • rbenv
    • rubyのバージョン管理。できることは限られているかその分軽い。
    • .zshrcや.bashrcのパスはbinではなく、shimsを設定する(binディレクトリはなくなっている。)
    • これをやらないとrailsのインストールができない!
export PATH=$HOME/.rbenv/shims:$PATH
sudo gem install bundler (railsをインストールするために)
sudo gem install rails

【ナビスコ杯】浦和対川崎

先週の土曜日にセルビア戦の傷を引きずりながらも、ナビスコ杯を見てきました!

浦和のユニフォームを購入し、いざ埼スタへ!

試合内容はご存知の通り浦和の防戦一方で、川崎は本当に、本当に、ってぐらい何も出来なかったです。。
(後半開始にちょっと攻めてたぐらい)

浦和が攻めている時に
ファイブトップになり、川崎のフォーバックはマークを捕まえきれず、そこからサイドに展開されて攻められてた。

ただ浦和も
支配はしているが速攻があまりなかった。。

あと、試合を決めたゴールをあげた興梠だが、この試合は際立ってた。

特にボールの受け方は素晴らしかった。
ぜひ、日本代表に。。
と、そんなことを思った浦和の試合でした。

あと、森脇結婚おめでとう!

【サッカー日本代表】セルビア戦(2013.10.11)

昨日のセルビア戦はとても残念な内容・結果だった。

メンバー、システムはいつもどおり4-2-3-1。
以下はメンバー、採点。

ポジション 名前 採点 コメント
GK 川島永嗣 5 ミスはなかったが、ファインセーブもなかった。
DF 今野泰幸 4.5 攻撃面では縦へのパスが効果的だったが、守備では大きな仕事ができていない。
DF 長友佑都 4.5 失点シーンでセルビアのバスタにかわされた。攻撃面でも迫力はなかった。
DF 内田篤人 5.5 守備面での1対1で負けなかった。攻撃面で効果的な攻撃ができなかった。
DF 吉田麻也 4 守備でクリアミス、相手DFに簡単にかわされるなど、良くなかった。
MF 遠藤保仁 5 パスを無難に回し、時折アタッキングサードに入るなど及第点
MF 長谷部誠 5 守備、攻撃に運動量はあったし、前半香川へ決定的なパスを出した
MF 本田圭佑 3 運動量が少なく、相手DFに囲まれボールを取られる場面が多かった。パスミスも多い。
MF 岡崎慎司 3 右サイドとセンターで出場したが何もしていない。
MF 香川真司 3.5 前半からトラップミスが多く、ボールを失うことが多かった。
FW 柿谷曜一朗 4 攻撃陣では誰よりも運動量はあったが、効果的な攻撃ができなかった。
MF 細貝萌 4 最後の失点シーンの前に残念なセンタリング。。
MF 清武弘嗣 5 投入されてからは、ある程度右サイドからチャンスがあった。
MF 乾貴士 4.5 決定的なチャンスがあったがトラップミス。
FW ハーフナー・マイク 4 何もしていない。。。

といったところで、特に攻撃陣が全然駄目な感じた。
あと、チームで試合に出ていない選手、調子が悪い選手の動きが悪い、悪すぎる。
香川はトラップミスばっかりするし、本田は守備ができないほど体力が残っていないし。

なのにザックは普通に出す。練習で見極められていないのか?
見極めれていないとすれば単に無能な監督だ。。

もし試合勘を戻すために試合に出しているかという感じがした。
代表の試合はそんなに試合数が多くないので、新しい選手を試して欲しかった。

ワールドカップまであと8ヶ月、心配だ。。。
特にヨーロッパ組が。

前回のワールドカップで岡ちゃんが中村俊輔を外したぐらい
それぐらいの勇気を持って采配してほしい。

ベラルーシ戦に期待!

Railsリファレンスを読み終わった。

Ruby on Rails 3 ポケットリファレンス

Ruby on Rails 3 ポケットリファレンス

読み終わりました! リファレンスだけど全部読みましたが、何か。。。

ビギナーからすると 知らないことが多く、全部も覚えられなかったけど だいたい何ができるのかーということが分かったので 今後はリファレンスとして使えそうだ!

Linuxのお勉強をしてみた!~その四~

たった2日でわかるLinux―Cent OS 6.4対応

ようやく、ひと通り学習しました。 まずは初心者向けということに関していうと 良いのではないでしょうか。

基本的なコマンドは載っているし、 サーバの役割なども書いてありました。

最後に今後何を勉強していけばいいかについても 書かれてあり、あとは興味のあることや 実際仕事場でやることについて勉強していけばよいかと思いました。

自分としてはVPSなどで自分のWEBサイトを公開したいので 今後WEBサーバ、メールサーバやDNSサーバなどを勉強しようかと思います。

Linuxのお勉強をしてみた!~その参~

たった2日でわかるLinux―Cent OS 6.4対応

たった2日で勉強できるそうですが 3日目に突入しています。 ※とはいっても、1日の勉強時間が少ないのです。。。

残りはあと1章なので頑張れば2日で終わりそうな感じです。

本日はシステム管理ということで シェルと監視を勉強しました。

どちらもシステム開発においては、切っても切り離せない とても重要なことだと思います。

「基本が大事」ということで基礎を疎かにせず 学べたかと思います。