2021-05-13から1日間の記事一覧

デプロイ(heroku)

Herokuにデプロイする手順 heroku create アプリケーション名 % git config --list | grep heroku fatal: not in a git directory以外が表示であればおk % heroku addons:add cleardb % heroku_cleardb=`heroku config:get CLEARDB_DATABASE_URL` % heroku c…

画像投稿 active storage導入

画像を投稿する active storageを導入する手順 % brew install imagemagick Gemfile gem 'mini_magick' gem 'image_processing', '~> 1.2' % bundle install % rails s % rails active_storage:install % rails db:migrate

サポートモジュール(テストコードをまとめる)

サポートモジュール テストコード内にて同じ記述を避けるために1つにまとめる。 supportファイルを作成し、その中にこのようなファイルを作る。 spec/support/sign_in_support.rb 1 2 3 4 5 6 7 8 9 module SignInSupport def sign_in(user) visit new_user_…

テストコード( ターミナルコマンド)

まずrspecを導入する。 Gemfile gem 'rspec-rails', '~> 4.0.0' % bundle install % rails g rspec:install rspec導入完了。 結合テストコードのsystem specはcapybaraで既にgemに入っている。 .rspec --format documentation これを追加することでテストコ…

検索機能

検索機能 ビュー <%= form_with(url: search_tweets_path, local: true, method: :get, class: "search-form") do |form| %> <%= form.text_field :keyword, placeholder: "投稿を検索する", class: "search-input" %> <%= form.submit "検索", class: "sear…

部分テンプレート

部分テンプレート 複数のページにて、同じコードを書く場合、部分テンプレートを用いることによってコードを1つのページで済ます。 部分テンプレートのファイル (例)_tweet.html.erbに記述する。 _を最初に持って来る。 使い方 部分テンプレートに書いた内…

Orderメソッド

orderメソッド 順番に並べる。並び方を決めるメソッド インスタンス = モデル名.order("並び替えの基準となるカラム名 並び順") 並び順について ASC(昇順): 古いものから新しい順番。古いものが上で新しいものが下になる。 *ABCじゃないので注意 DESC(降順)…

N+1問題(アソシエーション)

N+1問題とは アソシエーションでtweetとuserが結びついているとする。 tweetの情報をとって来る場合、userの情報も探して来る必要がある。そのためtweetの情報を持って来るとは別でuserはuserでtweetに紐付いているuser情報を持って来る必要があり、データベ…

ユーザー機能(devise)の作成

deviseのinstall #Gemfileに記述 gem 'devise' ターミナル % bundle install % rails s % rails g devise:install ここまででdeviseは使用可能になる #Userモデルを作成rails g devise user#テーブル作成マイグレーションファイルにカラムを記述し、rails…

アプリケーション作成 最初のコマンド

アプリケーションを作る cd ~/projects #projectで無くても可。作成するアプリの1つ上のディレクトリ rails _6.0.0_ new アプリケーション名 -d mysql #この時点でアプリは作成完了 cd アプリケーション名 bundle install #database.yml変更# encoding: utf…