りゅうじの学習blog

学習したことをアウトプットしていきます。

2021-05-01から1ヶ月間の記事一覧

helper_methodについて

コントローラで認可の設定での authorize(current_site) ビューで if current_site.main_images.present? このように使っていたcurrent_site は helper_method として宣言しているからビューでも使えるようになっています。 定義の仕方 def current_site @cu…

認可と認証の違い

学習中に出てくる認証と認可。 ぼんやりわかっているだけで説明できないと感じたので今回調べました。 認証 通信の相手が誰(なに)であるかを確認すること。 純粋な認証はそれが完了したからといって、何かが許される話とは関係がない。 例えば、身分証明書。…

【jQuery】 $(document).ready

$(document).ready(function() HTMLの読み込みが終わったら function()の後の処理を実行するコード $(document).ready(function(){ 処理 }); JSはHTMLが完全に読み込まれなていない状態で処理を実行すると正しく動作しないため、readyを使う必要がある。 最…

【CSS】object-fitの用途と値の種類

object-fit 画像などをボックスにどのようにはめ込むかを指定する。 fill ボックスサイズに合わせて縦横比を維持しないでリサイズして、全体が見えるようにはめ込む contain ボックスサイズに合わせて縦横比を維持しながらリサイズして、全体が見えるように…

【CSS】position: relative; と position: absolute; について

positionプロパティ 要素の配置する基準を指定するプロパティ。 abusolute 移動するときの基準がウィンドウか親要素になる。 複数の要素がある場合でも他の要素を無視して移動する。 高さの要素がなくなり浮いた状態になる。 relatibe 移動するときの基準が…

英語の記事を楽に読む方法

昨晩、教わった方法。 Windowを二つ開いて片方を全部日本語翻訳にして片方を英語のままにして読む。 全部翻訳して読むときの問題点がコードまで翻訳されてしまう事だった。 これで解決できる。 英語だけのページに拒否反応していたけど、これからどんどん立…

YoutubeをURLで埋め込む

記事投稿アプリにYoutubeをURLで埋め込みます。 カラムの準備 ユーザーが入力した値を保存する為のカラムを用意する。 #models/embed.rb class Embed < ApplicationRecord enum embed_type: { youtube: 0 } validates :identifier. length: { maximum: 200 }…

RSpecメモ

page.all('.box-footer')[0].click_button('更新する') これは、class: 'box-footer'とついている要素を全て取り出して配列にし、その中の一番最初の要素([0])を選択している。 select 'YouTube', from: 'embed[embed_type]' 'embed[embed_type]'に登録さ…

N+1問題

N+1問題とは 必要以上にSQLが発行されてしまい動作が悪くなってしまう問題の事です。 SQLとは データベースを操作するための言語です。データを挿入したり検索したりする際に利用します。 データベースとのやり取りを必要以上にしてします状態という事ですね…

公式ドキュメントを読むコツのメモ

公式ドキュメントを読むクセをつける 毎日何かの公式ドキュメントを読むようにする 自分自身に意識的に負荷をかける事で苦手意識がなくなる わからなくてしんどいのは成長痛なので、わからないからこそたくさん読んでまず慣れる事 語彙力をつける プログラミ…

新しく学んだRSpecの書き方のメモ

新しく学んだRSpecの書き方 アイキャッチ画像の横幅を100~700pxに指定した場合 システムスペックでcapibara使用 #systemspec内 略 eyecatch_width = rand(100..700) fill_in 'article_eyecatch_width', with: eyecatch_width 略 先に横幅100~700のランダムな…

私の学習に対する考え方の気付き

私はこれまで真面目に学習に取り組んできたという自負がありますが、受講生の中で優秀だと感じる方に遅れをとっているという自覚がありました。 何か地頭の良し悪し以外にも要因はあるのではないか?と学習方法についての話を色んな方に伺ったりしながら追求…

【Git】特定のコミットまで戻す方法

ゲームで言えば、前回のセーブポイントまで戻るというのと同じですね。 #ターミナル $ git log このようにcommit_id が表示されるので 戻りたいコミットの commit から後の文字列をコピーして #ターミナル $ git reset --hard 該当のcommit_id で戻れます。 …

kaminariを使ったページネーションの実装

kaminariのセットアップ まずインストール #Gemfile gem 'kaminari' #ターミナル bundle install --path vendor/bundle 続いてkaminari の設定を生成。 #ターミナル $ rails g kaminari:config 上記コマンドにより、config/initializers ディレクトリ直下に…

Punditの使い方

Pundit は認可まわりの機能を作成するのに有効なGemです。 Punditセットアップ #Gemfile gem 'pundit' #ターミナル bundle install --path vendor/bundle application_controllerにinclude #app/controllers/application_controller.rb class ApplicationCon…

AdminLTE 3を使って管理者ページを実装しよう・2

この記事の続きです。 https://ryujisurf55.hatenablog.com/entry/2021/04/30/180846 手順 管理者用のコントローラーを作成 ルーティングの設定 ビューの設定 ページタイトルの設定 1.管理者用のコントローラーを作成 まずはベースとなるadmin/base_controll…