Rails解説セミナー 第11章
-
Upload
yohei-yasukawa -
Category
Education
-
view
166 -
download
0
Transcript of Rails解説セミナー 第11章
第11章 ユーザーをフォローする #Railsチュートリアル
http://railstutorial.jp/
Rails解説セミナー
by ヤスラボ
Ruby on Rails チュートリアル 実例を使ってRailsを学ぼう
Michael Hartl (マイケル・ハートル)
セミナーを 始める前に
Slideshare.all.url
http://www.slideshare.net/yasulab/presentations
質問はいつでもお気軽に! 個別相談は休憩や終了後に :)
“話についていけなかったorz” そんなときに安心な動画サポート!
http://railstutorial.jp/screencasts#ch00
Screencast.first.visit?
この2つは特に重要です
Ready?
解説セミナーを 進めていきましょう!
第11章 ユーザーをフォローする #Railsチュートリアル
http://railstutorial.jp/
Rails解説セミナー
by ヤスラボ
Ruby on Rails チュートリアル 実例を使ってRailsを学ぼう
Michael Hartl (マイケル・ハートル)
1. Micropostモデルの作成 (cf. 第2, 4, 6章)
• UserとMicropostの関連付け − User has_many Microposts − Micropost belongs_to User
2. Micropostを表示する (cf. 第7~8章)
3. Micropostを操作する (cf. 第9章)
• アクセス制御
• Micropostを作成・削除する
第10章 まとめ
成果物: http://bit.ly/sample_app
1. Relationshipモデルの作成・検証
• User 間の関連性を表すモデルの解説
• Relationshipを使ったfollowed/followerの実装
• follow関連の統計情報を表示
2. Ajaxでfollow/unfollowボタンのUIを実装
3. follow関連の情報を基に完全なfeedを実装
4. デプロイ / 拡張機能 / 今後の読み物ガイド
第11章 まとめ
モックアップ
現在のユーザーのプロファイル
フォローする相手を見つける
Follow ボタンが表示される
Unfollow 切り替えと followers数++
feed での表示と following 数++
第11章 ユーザーをフォローする 11.1 Relationshipモデル
http://railstutorial.jp/
Railsチュートリアル
by ヤスラボ
Ruby on Rails チュートリアル 実例を使ってRailsを学ぼう
Michael Hartl (マイケル・ハートル)
11.1 Relationshipモデル• User 間の関連性を表すモデルの解説
• Relationshipモデルの作成・検証
• User/Relationshipモデルの関連性を実装
• フォローしているユーザーを実装
• フォローされているユーザーを実装
フォローと フォロワーの モデル設計
まずは 「フォロー」 だけを考える
1. 重複したカラムの更新はどうする? 2. フォロー用のテーブルの更新は? 3. フォロワー用テーブルを更新は?
Micropost と同じように設計する?
必要な抽象化が行えていない!
関係性 (relationship) に注目する
関係性を中心にした「フォロー」モデル
“#{テーブル名}_id” が使えないことに注目
実装
次に 「フォロワー」 を考える
“#{クラス名}s” が使えないことに注目
関係性を中心にした「フォロワー」モデル
実装
11.1 Relationshipモデル• User 間の関連性を表すモデルの解説
• Relationshipモデルの作成・検証
• User/Relationshipモデルの関連性を実装
• フォローしているユーザーを実装
• フォローされているユーザーを実装
第11章 ユーザーをフォローする 11.2 フォローしているユーザー用
のWebインターフェイス
http://railstutorial.jp/
Railsチュートリアル
by ヤスラボ
Ruby on Rails チュートリアル 実例を使ってRailsを学ぼう
Michael Hartl (マイケル・ハートル)
11.2 フォローしているユーザー用の Webインターフェイス
• follow関連のサンプルデータを生成
• Relationshipのルーティングの実装
• 統計情報をHomeページに表示
• followingページ/followerページの実装
• フォロー/フォロー解除ボタン(form)の設置
• ページ遷移させずにformから送信する (Ajax)
第11章 ユーザーをフォローする 11.3 ステータスフィード
http://railstutorial.jp/
Railsチュートリアル
by ヤスラボ
Ruby on Rails チュートリアル 実例を使ってRailsを学ぼう
Michael Hartl (マイケル・ハートル)
11.3 ステータスフィード• 完全なフィードを実装する:
1. followed_users の投稿が含まれている.
2. 自分自身の投稿も含まれている.
3. follow していないユーザの投稿は含まない.
• SQLのサブセレクトを使ってフィードを改良
• 新しいフィードの画面を確認する
お疲れ様でした
1. Relationshipモデルの作成・検証
• User 間の関連性を表すモデルの解説
• Relationshipを使ったfollowed/followerの実装
• follow関連の統計情報を表示
2. Ajaxでfollow/unfollowボタンのUIを実装
3. follow関連の情報を基に完全なfeedを実装
4. デプロイ / 拡張機能 / 今後の読み物ガイド
第11章 まとめ
なるほどRails! (達観)
そしてさらなる高みへ…
開発事例: Iriguti (Pocket連携サービス)
開発事例: OBOTAN (単語学習サービス)
開発事例: SharePla (計画共有サービス)
参考情報
Rails で JavaScript を使用するhttp://railsguides.jp/working_with_javascript_in_rails.html
Action Support コア拡張機能http://railsguides.jp/active_support_core_extensions.html
Rails 国際化 (I18n) APIhttp://railsguides.jp/i18n.html
Rails アプリケーションのデバッグhttp://railsguides.jp/debugging_rails_applications.html
Ruby on Rails に貢献する方法http://railsguides.jp/contributing_to_ruby_on_rails.html
お知らせ
週末セミナー打ち上げhttps://coedo-rails.doorkeeper.jp/events/25304
受付中!
セミナー参加回数に応じて値下げ
#Railsガイド 解説セミナー開講予定!
『Railsをはじめよう』解説セミナーhttps://coedo-rails.doorkeeper.jp/events/23663
初回!
CoEdo.rb (全体) 懇親会https://coedo-rails.doorkeeper.jp/events/23803
同日開催!
RoR ビギナーズ倶楽部http://coedo-rails.doorkeeper.jp/
アドバイザーとして‘教えながら復習する’※ キャンセル待ちでもアドバイザーであれば参加可
今後の進め方• 反響がある限り,継続的に実施していきます.
• 今後の解説セミナーのスケジュール → 詳細: http://railstutorial.jp/seminars
• 欠席時はスクリーンキャストで補完できます :) → 詳細: http://railstutorial.jp/screencasts
• アンケートのご回答に協力くださいコメント欄にURLを貼付けます :-) ※ アンケートに回答を送信すると, 特典動画の情報が表示されます.
第11章 ユーザーをフォローする #Railsチュートリアル
http://railstutorial.jp/
Rails解説セミナー
by ヤスラボ
Ruby on Rails チュートリアル 実例を使ってRailsを学ぼう
Michael Hartl (マイケル・ハートル)