最近初心者の人向けにRuby/Railsのアプリの開発についてレクチャーしたので、その時作った手順をブログ記事にしました。
もし、やってみてわからないところとか、ハマりやすいところとかあれば @zyunnosuke にメッセージください!
プロジェクトを作成
ローカル開発の場合
ターミナルで以下のコマンドを実行してください。
1 2 3 4 5 | |
Cloud 9の場合
- 『Cloud9』にログインして新しいworkspaceを作成
- privateのRailsアプリを作成してください
Gemfileに以下を追加
プロジェクト直下のGemfileを開いて以下を追加して下さい。 (minimum-omniauth-scaffold は最後に補足を書いています)
1 2 3 | |
追加したらターミナルで以下のコマンドを実行します。
1
| |
Ruby Gemライブラリをインターネットから持ってきて、自動でローカルに保存します。
Twitter認証用のScaffold
以下のコマンドを実行して、OmniAuth用のScaffoldを作成。
1
| |
テーブルの作成
1
| |
TwitterのAPI keyを取得
Twitter Application Managementに新しいアプリを登録して下さい。 手順がわからない場合は、『Rails環境でTwitterとFacebookを使ってサイトの拡散をするため自動投稿させるアプリを作成してみた』 を参考にしてみてください。
最初にユーザー登録とか必要かもしれません。
ちなみに設定は以下の様ようにしました。
Name : (ユニークな名前にしてください。クライアント名としてtwitter上で表示されるのでいい名前にしてください) Description : (適当に書いてください) Website : http://www.example.com (公開するときはそのURLを。今回はローカルテスト用の設定です) Callback URL : http://www.example.com/callback (公開するときはコールバックのURLを書いてください。今回はローカルテスト用の設定です)
「Keys and Access Tokens」に Consumer Key と Consumer Secret があるので、次のファイルに書いてください。
Twitter API keyをRailsに設定
config/secrets.local.yml を開いて以下の内容を追記して下さい。
1 2 3 4 | |
controllerの処理を追加
新しい処理を行うcontrollerのactionを追加します。
app/controller/top_controller.rbに以下の内容を追加します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
viewを作成
app/views/top/index.html.haml にフォームを設置します。
1 2 3 | |
あと念のため、今回は facebook / githubのログインは削除します。
app/views/layouts/application.html.haml の以下を削除してください。
1 2 | |
routesに以下を追加
ルーティング情報を追加します。
config/routes.rbに以下の内容を追加します。
1 2 3 4 | |
実行確認
ターミナルで以下のコマンドを実行して rails サーバーを起動してください。 (Cloud9の場合は、startボタンでrailsサーバーを起動)
1
| |
そして、ブラウザで http://localhost:3000 を開いてください。
左上の「Login: Twitter」をクリックしてログイン。そしてツイートボタンをおすと
とツイートできました。(※ 実話です!)
(補足) minimum-omniauth-scaffold について
今回使ったRubyGemの shu0115/minimum-omniauth-scaffold は、Facebook/Twitter/GitHubのアカウントを使ったログイン機能のscaffoldを提供してくれるGemです。
すごく便利なのでFacebook/Twitter/GitHubのアカウントを使ったログイン機能を実装したいときは、是非試してみてください。
ちなみに、拙著の紹介記事は、『「minimum-omniauth-scaffold」 Facebook/Twitter/GitHubログインを高速実装!』もおすすめです!