Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
Ruby on Rails でつくるアタシ好みの愛され Web サービス
Next
Download to read offline and view in fullscreen.

Share

バカでもわかるRails #02

Download to read offline

Ruby on Railsで難解なRailsのコンセプトを、単語帳の様に繰り返し覚えることで学習速度と理解を速める教材を作りました。改善の為のご意見ご感想お待ちしています!Twitter@ishiid, Email:dai@jenio.co

Related Books

Free with a 30 day trial from Scribd

See all

バカでもわかるRails #02

  1. 1. バカでもわかるRails #02 Model/Controller/Routes/認証 編 石井大輔 - www.jenio.co Twitter@ishiid, email: dai@jenio.co 1 馬鹿
  2. 2. パパ、 Ruby on Rails教えて! 2
  3. 3. 題名はクレージーですが、真面目な教材です Rubyは英語みたいでとっつきやすいのに、Railsはとても難しい。 これが初心者の僕の悩みでした。もっと簡単な学習方法はないものか。 原因はRails用語が実生活で全く使わない抽象概念だからではないでしょうか。 だったらまず用語の意味を繰り返し覚えるべきでは? 英語の勉強と同じ手法を取れば良いのでは?これが僕の仮説です。 Q&A形式でクイズっぽい単語帳カードを作りましたので、 自習もしくは相方と使ってみて下さい。 コーディングを楽しみましょう! 3
  4. 4. 単語帳の様に繰り返し学びましょう! 4
  5. 5. 注意 この教材は一通りRailsを勉強したが、 記憶が定着していない人を対象としています。 全くの初心者の方は、 まずRubyとRailsを勉強し、補助教材として使ってください。 説明を意図的にシンプルかつ抽象的にまとめてありますので、 細かい点気になる人はググりましょう。 5
  6. 6. コンセプトについて 勉強しよう! 6
  7. 7. “tweets”という名前のデータベースがあると仮定しましょ う。エクセルシートに形が似ています。 id tweet user 1 私は元気です。 ヒロシ 2 結婚しました! マリ 3 転職決まりました。 ケンジ 7 *データベース名は常に小文字で始まり複数形です“tweets”.
  8. 8. 問: RailsでいうModelって簡単に言うと何? 8
  9. 9. 問: RailsでいうModelって簡単に言うと何? 9 答: Railsのアプリがどの様に データベースと連絡を取るか、と いう仕組み
  10. 10. 問: Modelのファイルの基本には何が書いてある? 10
  11. 11. 問: Modelのファイルの基本には何が書いてある? 11 答: app/models/tweet.rbの場合 Class Tweet < ActiveRecord::Base end *Tweetはクラスの名前なので大文字 *TweetはActiveRecordを継承
  12. 12. 問: ActiveRecordって簡単に言うと何? 12
  13. 13. 問: ActiveRecordって簡単に言うと何? 13 答: Modelそのもの。データベースと論理を コントロールする仕組み。
  14. 14. 認証の仕組みを 勉強しよう! 14
  15. 15. 問: データの存在を認証するModelのコードを書いて 15
  16. 16. 問: データの存在を認証するModelのコードを書いて 16 答: app/models/tweet.rb Class Tweet < ActiveRecord::Base validates_presence_of :status end
  17. 17. 問: 前ページのModelに対して空のデータを作って認証 してみて 17
  18. 18. 問: 前ページのModelに対して空のデータを作って認証 してみて 18 答: t = Tweet.new => #< Tweet id:nil, text:nil, user:nil> t.save => false *nil = データなしという意味 *false = 認証が取れず保存できなかった
  19. 19. 問: 前ページの空データに対してエラーメッセージを表示 させて 19
  20. 20. 問: 前ページの空データに対してエラーメッセージを表示 させて 20 答: t.errors.messages => {status:[“空欄 は不可です”]} もしくは t.errors[:status][0] => “空欄は不可です”
  21. 21. 問: 数値か小数点のみ有効かどうか認証するModelを 書いてください 21
  22. 22. 問: 数値か小数点のみ有効かどうか認証するModelを 書いてください 22 答:class Tweet < ActiveRecord::Base validates :tweet, numericality: true end
  23. 23. 問: 数値のみ認証するModelを書いてください 23
  24. 24. 問: 数値のみ認証するModelを書いてください 24 答:class Tweet < ActiveRecord::Base validates :tweet, numericality: {only_integer: true } end
  25. 25. Controllerを 勉強しよう! 25
  26. 26. 問: JSONとは何の事ですか?具体例交え。 26
  27. 27. 問: JSONとは何の事ですか?具体例交え。 27 答:JavaScriptの中でデータを表現する為の 文法 {"employees":[{"firstName":"John","lastName":"Doe"}, {"firstName":"Anna", "lastName":"Smith"}, {"firstName":"Peter", "lastName":"Jones"}]}
  28. 28. 問: XMLとは何の事ですか?具体例交え。 28
  29. 29. 問: XMLとは何の事ですか?具体例交え。 29 答:タグを使ったデータの表現形式 <employees><employee> <firstName>John</firstName> <lastName>Doe</lastName> </employee><employee> <firstName>Anna</firstName> <lastName>Smith</lastName> </employee><employee> <firstName>Peter</firstName> <lastName>Jones</lastName> </employee></employees>
  30. 30. 問: 「travels」コントローラの「show」アクションを呼び出す時にパ ラメータ名「id=10」の値をリクエストに含める場合のURLは? 30
  31. 31. 問: 「travels」コントローラの「show」アクションを呼び出す時にパ ラメータ名「id=10」の値をリクエストに含める場合のURLは? 31 答:http://localhost:3000/travels/show/10
  32. 32. 問: 前ページの場合のルーティングは? 32
  33. 33. 問: 前ページの場合のルーティングは? 33 答:match ‘travels/show/:id’ => ‘travels#show’
  34. 34. 問: params[:パラーメータ名]の意味は? 34
  35. 35. 問: params[:パラーメータ名]の意味は? 35 答:アクションメソッドの中で、パラメータ名を指 定して値を取得する
  36. 36. 問: 今回のセッションのユーザーIDが、そのツイートの ユーザーIDと一致していない、というコード 36
  37. 37. 問: 今回のセッションのユーザーIDが、そのツイートの ユーザーIDと一致していない、というコード 37 答:session[:user_id] != @tweet.user_id
  38. 38. 問: 登録ありがとうございます、とフラッシュメッセージを 出すコード 38
  39. 39. 問: 登録ありがとうございます、とフラッシュメッセージを 出すコード 39 答:flash[:notice] = “登録ありがとうございま す”
  40. 40. 問: tweetを取得するget_tweetというメソッドを定義してく ださい 40
  41. 41. 問: tweetを取得するget_tweetというメソッドを定義してく ださい 41 答: def get_tweet @tweet = Tweet.find(params[:id]) end
  42. 42. 問: get_tweetをedit, update, destroyの時に実行すると いうコードを書いてください 42
  43. 43. 問: get_tweetをedit, update, destroyの時に実行すると いうコードを書いてください 43 答: app/controller/tweets_controller.rb before_action :get_tweet, only: [:edit, : update, :destroy]
  44. 44. Routesを 勉強しよう! 44
  45. 45. 問: Twitterというアプリのroutes.rbの骨格を書いてくださ い 45
  46. 46. 問: Twitterというアプリのroutes.rbの骨格を書いてくださ い 46 答: app/config/routes.rb Twitter::Application.routes.draw do end
  47. 47. 問: 前ページの回答にresourcesを足してください 47
  48. 48. 問: 前ページの回答にresourcesを足してください 48 答: app/config/routes.rb Twitter::Application.routes.draw do resources :tweets end *resourcesは常に小文字で複数形
  49. 49. 問: 前ページの回答にnew actionを足してください 49
  50. 50. 問: 前ページの回答にnew actionを足してください 50 答: app/config/routes.rb Twitter::Application.routes.draw do resources :tweets get ‘/new_tweet’ => ‘tweets#new’ end path controller action
  51. 51. GOAL! よくできました! 良かったら繰り返しチャレンジしてみてください。 51 改善の為の、 ご意見ご感想お待ちしています。 Twitter@ishiid https://twitter.com/ishiid Email: dai@jenio.co
  • KyoichiWatanabe

    Jan. 19, 2020
  • ssuserba753f1

    Sep. 11, 2017
  • ssuser2a81ed

    Mar. 24, 2017
  • fatcat7866

    Jan. 1, 2017
  • SHUHEITANABE

    Nov. 25, 2016
  • tomoyahokari79

    Jan. 24, 2016
  • kimihitomatsui

    Nov. 13, 2015
  • HiroshiShiobara

    Nov. 7, 2015
  • shunkimura37

    Nov. 7, 2015
  • noribomb

    Nov. 4, 2015

Ruby on Railsで難解なRailsのコンセプトを、単語帳の様に繰り返し覚えることで学習速度と理解を速める教材を作りました。改善の為のご意見ご感想お待ちしています!Twitter@ishiid, Email:dai@jenio.co

Views

Total views

8,008

On Slideshare

0

From embeds

0

Number of embeds

5,730

Actions

Downloads

15

Shares

0

Comments

0

Likes

10

×