rails初心者レッスン lesson4

15
Rails3 初心者レッスン by Minami.rb しきりなおしの Lesson 4 2011423日土曜日

Upload: satomi-tsujita

Post on 27-May-2015

511 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Rails初心者レッスン lesson4

Rails3 初心者レッスンby Minami.rb

しきりなおしの

Lesson 4

2011年4月23日土曜日

Page 2: Rails初心者レッスン lesson4

このレッスンでやること一覧1. Railsで何をする?どうしてRails?2. Railsを通してデータベースをブラウザから扱う3. 作ってみよう事始め4. プロジェクトとテーブル5. Railsはどんなふうに働いてる?6. URLが大事7. 見た目をキレイに8. リレーションを考える9. 日本語対応10.プラグインを使う11.ちょっとRubyに働いてもらう12.herokuに公開しよう

2011年4月23日土曜日

Page 3: Rails初心者レッスン lesson4

Lesson3の復習いじったファイル

app/models, app/controllers, app/views 以下いろいろ

リレーションの設定 belongs_to / has_many / has_many, thorught

i18nの日本語化

2011年4月23日土曜日

Page 4: Rails初心者レッスン lesson4

プラグインを使ってみようキビシイことを言うようですが、プラグインはたくさんあるので、これから自力でやっていけるように、READMEを自分で読んでみましょう。まずは、コードの部分から・・・

devise:認証プラグイン https://github.com/plataformatec/devise http://d.hatena.ne.jp/babie/20100729/1280381392

kaminari:ページネーションプラグイン https://github.com/amatsuda/kaminari

2011年4月23日土曜日

Page 5: Rails初心者レッスン lesson4

Rubyに働いてもらうやっとRubyの出番です。細工をするにはRubyが要るんです!!!

例えば・・・loginしたときだけnew memberのボタンを表示するentries/newに直近イベントの参加者一覧を表示する

2011年4月23日土曜日

Page 6: Rails初心者レッスン lesson4

Rubyに働いてもらうloginしたときだけnew memberのボタンを表示する

app/views/layouts/application.html.erb <% if user_signed_in? %> <li><%= link_to 'new event', new_event_path,

:class => "itemsub" %></li> <% end %>app/views/controllers/events_controller.rb class MembersController < ApplicationController before_filter :authenticate_user!, :except => [:index, :show]

deviseのメソッドを使う

deviseのメソッドを使う

2011年4月23日土曜日

Page 7: Rails初心者レッスン lesson4

Rubyに働いてもらうentries/newに直近イベントの参加者一覧を表示する

やること: ① メソッド名を考える ② 達成したいものをプログラムっぽく表現する  『直近イベント』=今のイベントの日付の一つ前  『一つ前』=その日付の過去のイベントを降順にした一番最初 ③ entries/newのviewでメソッドを呼ぶ

これをRubyで書くと・・・

2011年4月23日土曜日

Page 8: Rails初心者レッスン lesson4

Rubyに働いてもらうentries/newに直近イベントの参加者一覧を表示するメソッド

 ① メソッド名 => just_before ② 達成したいものをプログラムっぽく表現する  今のイベントの日付 => date_on  その日付の過去のイベント

 => where(“? > date_on”, self.date_on)  降順にした => order(“date_on DESC”)  一番最初 => first

2011年4月23日土曜日

Page 9: Rails初心者レッスン lesson4

Rubyに働いてもらう

entries/newに直近イベントの参加者一覧を表示するメソッド

app/models/event.rbclass Event < ActiveRecord::Base・・・ def just_before Event.where("? > date_on", self.date_on).order("date_on DESC").first end

2011年4月23日土曜日

Page 10: Rails初心者レッスン lesson4

Rubyに働いてもらうentries/newに直近イベントの参加者一覧を表示する

 ③ entries/newのviewでメソッドを呼ぶapp/views/entries/new.html.erb <%= render 'form' %> <% just_before = @event.just_before %> <% if just_before %> <% just_before.members.each do |m| %> <%= m.name %> <br /> <% end %> <% end %>

2011年4月23日土曜日

Page 11: Rails初心者レッスン lesson4

プラグイン:deviseで認証ができるようにしましょう。deviseの認証画面をlogin/logoutボタンにリンクさせましょう。loginしているときだけnew member, new event, logoutボタンが見えるようにしましょう。entries/newに直近(過去)イベントの参加者一覧を表示しましょう。その直近のイベント情報も一緒に表示しましょう。

(時間があまった人は↓)イベント参加率が一番高い人をmembersに表示させましょう。

演習

2011年4月23日土曜日

Page 12: Rails初心者レッスン lesson4

herokuでリリースする!デフォルトの設定でリリースするときherokuのアカウントを取る(Minami.rbのアカウントあります)herokuのgemをインストールする

$ gem install heroku (rvmを使ってる場合) $ sudo gem install heroku (rvmを使ってない場合)ssh鍵を作る

$ ssh-keygenheroku URLを取る&公開鍵(*.pub)を登録する

$ heroku create URL名gitでpushする

$ git push heroku master

2011年4月23日土曜日

Page 13: Rails初心者レッスン lesson4

heroku専用鍵を作る専用の鍵を指定したいとき

~/.ssh/configファイルを作成 HOST heroku.com  Port 22  Hostname heroku.com  IdentityFile /鍵ファイルのディレクトリ/ファイル名(秘密鍵)

コマンド実行 $ ssh-keygen -f /鍵ファイルのディレクトリ/ファイル名 $ heroku keys:add ファイル名.pub(公開鍵)

2011年4月23日土曜日

Page 14: Rails初心者レッスン lesson4

herokuあれこれデフォルトDBはPostgreSQL/sqlite3

Add-ons :MySQL => AmazonRDS       SSL => SSL       メール => CloudMailin       MongoDB => MongoHQ       PostgreSQLバックアップ => PG Backups

Ruby enterprise edition1.8.7 参考 http://www.slideshare.net/yalab/next-gae-heroku-3rails

2011年4月23日土曜日

Page 15: Rails初心者レッスン lesson4

★リリースおめでとうございます★

初心者レッスンは、これで終わりです。お疲れさまでした!!!

2011年4月23日土曜日