テックキャンプ8日目

基礎試験98点で突破しました♪本来2週間かかるところなので早めにクリアできているようです。
本日はプロトレの内容から。カリキュラムを見てプログラミングノートを作成し、作ったノートのみで簡単なアプリを作れたらひとまずOKとのことでした!ペタッとな!

  1. アプリケーションの新規作成手順
    cd 指定のフォルダへ
    bundle config –global build.mysql2 –with-opt-dir=”$(brew –prefix openssl@1.1)”
    rails 6.0.0 new アプリ名 -d mysql
    cd アプリ名
    pwd
    rails db:create
    dberver 起動 ファイル作られているか確認
    rails s ターミナル2個起動
    http://localhost:3000/ 繋がっているか確認
    rails s 止める
  2. 一覧機能(indexアクション)を実装する手順
    /routes.rb
    get ‘posts’, to: ‘posts#index’
    /ターミナル
    rails routes ルーティング確認
    rails g controller posts rails g ファイルの種類 生成するファイル名
    コントローラーが生成されているか確認
    /posts.con
    def index
    @post = “これはコントローラーで定義したインスタンス変数”
    end
    app/views/posts/
    index.html.erb作成
     トップページ
    <%= @post %>
    http://localhost:3000/posts
    rails g model post rails g model モデル名
    /db/migrate
    t.text :content t.カラム型 :カラム名
    rails db:migrate
    dberver 起動 ファイル作られているか確認
    データを直接入力
    rails c
    post = Post.new    model = Model.new
    post.content = “こん”  model.text = “追加するデータ”
    post.save model.save
    exit
    dberver 起動 ファイル作られているか確認
    /posts_con
    @post = Post.find(1)
    /index.html.erb
    <%= @post.content %> contentないと、どれ取っていいか分からない
    http://localhost:3000/posts
    /posts_con
    @posts = Post.all 複数形に変化、Postの中身全て入れる
    /index.html.erb
    <%= @posts.content %>
    <%= @posts.created_at %>
    http://localhost:3000/posts エラー allを一気に取り出せない
    /index.html.erb
    <% @posts.each do |post| %>
    <%= post.content %>
    <%= post.created_at %>
    http://localhost:3000/posts エラーでない 全てのデータ表示される
     /index.html.erb
      トップページ
    <% @posts.each do |post| %>
    投稿日時:<%= post.created_at %> <%= post.content %> <% end %>
    /stylesheets
    posts.css 作成
    .post{
    border: 1px solid;
    width: 40%;
    margin-top: 30px;
    }
    .post-date{
    color: gray;
    }
    http://localhost:3000/posts
  3. 投稿画面(newアクション)を作成する手順
     /routes.rb
    get ‘posts/new’,to: ‘posts#new’
    rails routes
    /posts_con
    def new
    end
    new/html.erb作成 新規投稿ページ <%= form_with url: “/posts”, method: :post, local: true do |form| %> <%= form.text_field :content %> <%= form.submit ‘投稿する’ %> <% end %> http://localhost:3000/posts/new /index.html.erb <%= link_to ‘新規投稿’, ‘/posts/new’ %>
  4. 保存機能(createアクション)を実装する手順
    /routes.rb
    post ‘posts’,to:’posts#create’
    /posts_con
    def create
    Post.create(content: params[:content])
    ポストモデルにクリエイト(カラム名:params[:newから送られたデータ]
    end
    /create.html.erb作成
     投稿が完了しました
    <%= link_to ‘トップページに戻る’, ‘/posts’ %>
    http://localhost:3000/posts/new
    動作確認

明日もプロトレの時間にこの内容を確認しながらプログラム組んでみます。あってるかわからないので、これからまだまだ修正かかる予定ですーv

テックキャンプ9日目
無事↑の取扱説明書で、アプリを組み切ることができました!そして次のプロトレに挑戦!問題見た瞬間絶望でしたが・・・。
なんとか戦えそうだぞ!?すごく力がついてきてる気がします!!!この調子で突き進みます!!

テストコードについて(ざっくりとりまとめ)
Ruby on rails では、RSpecというgemをダウンロードしてテストを行うことができます。
describeとは、テストコードのグループ分けを行うメソッド。
describeに続くdo~endの間に更にメソッドを記入して入れ子構造にすることが可能。
bundle exec rspec spec/models/user_spec.rbとは、テストコードの実行用コマンド。後半の部分は任意のファイル名が入る。結果が緑で表示されれば実験成功です。
valid?とは、バリデーションを実行しエラーがあるかどうかを判断するメソッドです。
エラーがない場合はtrue、ある場合はfalseを返します。この下の行にbinding.pryつけてテストを途中で止めて、errors.full_messegesでエラーメッセージ抽出して次に生かす。考えた人本当に偉いと思いました。


タイトルとURLをコピーしました