りゅうじの学習blog

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

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

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

管理者(Admin)ページのログイン機能とトップページを実装します。 ログイン画面 トップページ 手順 AdminLTE 3 をインストールする JSとCSSを読み込ませる モデルに管理者かどうかを判別させるroleのカラムを追加する(enumの追加) 1.AdminLTE 3 をインストー…

sorcery で使えるようになるCoreなメソッド

こんにちは。りゅうじです。 SorceryのGitHubのCoreなものの中から私が課題で使用したものをまとめます。 この他にも詳しいコードを知りたい方は公式GitHubをご覧ください。 sorcery での実装のやり方はこちらの過去記事をどうぞ。 https://ryujisurf55.hate…

Sorceryでログイン機能を実装する

こんにちは。りゅうじです。 sorcery を使うのでまずはインストールします。 インストール #Gemfile gem 'sorcery' #ターミナル $ bundle install --path vendor/bundle 初期設定 #ターミナル $ bundle exec rails g sorcery:install このコマンドで必要最低…

content_for と yield でページタイトルを動的に表示

こんにちは。りゅうじです。 content_for と yield でページタイトルを動的に表示させます。 ページタイトルとはウインドウの上部のここです。 実装 #application.html.erb <title><%= page_title(yield(:title)) %></title> ここの page_title は helper で定義したものか…

三項演算子の書き方を例文を用いて解説

こんにちは、りゅうじです。 昨日の学習の際にコントローラーにこんなコードがありました。 #app/controllers/admin/articles/publishes_controller.rb @article.state = @article.publishable? ? :published : :publish_wait このコードの意味がわからない…

Decoratorでフルネームを表示させる(Draper)

こんにちは、りゅうじです。 Decorator とは Model とView の中間に追加するものです。 Model→View だったのを Model→Decorator→View こうする。 ここで思いました。似たようなものあったな…と。 helper です。 まずここの違いを簡単に説明します。 Decorato…

i18nによる日本語化対応

こんにちは、りゅうじです。 i18n を使って view や conrtoller に直接文字を入力する事なく日本語表示させる方法を書いていきます。 手順 デフォルトの言語を日本語に設定する gem 'rails-i18n' をインストール 複数のロケールファイルに読み込まれる様に p…

パーシャル(部分テンプレート)をrenderでcollectionオプションで呼び出す

こんにちは、りゅうじです。 こちらは 昨日書いたlocalsオプション の記事です。知らない方は合わせて読んでみてください。 https://ryujisurf55.hatenablog.com/ render をパーシャルで呼び出す際に collectionオプション という繰り返しパーシャルをレンダ…

パーシャル(部分テンプレート)をrenderでlocalsオプションで呼び出す

こんにちは、りゅうじです。 render でパーシャル(部分テンプレート)を呼び出す使い方をまとめました。 localsオプション のみです。 省略しない記述をまず覚える パーシャルを呼び出す上でオプションがあります。 部分的に省略する事ができず、省略するなら…

Ajaxの実装

こんにちは、りゅうじです。 Ajaxについて学習した事のまとめです。 Ajaxとは 読み方:一般的にはエイジャックス ウェブブラウザ内で非同期通信を行いながらインターフェイスの構築を行うプログラミング手法である。XMLHttpRequest(HTTP通信を行うためのJava…

findとfind_byの違い

こんにちは、りゅうじです。 id を検索する時によく使いますが両者の違いを理解しておく必要があるので 勉強しました。 結論 findメソッド id を検索キーとしてデータを取得する id 以外では検索不可 取得したいデータの id が具体的にわかっているとき(つま…

RSpecでの削除ボタンを押すテストの記載について

こんにちは、りゅうじです。 今日はRSpecのテストの書き方についてです。 Capybaraを設定してあってシステムスペックを書いていく時に使える書き方です。 こちらの電子書籍で事前知識がある前提の内容になります。 Everyday Rails - RSpecによるRailsテスト…

TypeError - no implicit conversion of nil into Stringのデバッグ

こんにちは、りゅうじです。 今回の記事投稿アプリで、記事の文章を入力しない状態でプレビュー画面に移動したらエラーが発生しているのをデバッグするものです。 ブラウザのエラー画面 ターミナルのログ エラー分の内容 `no implicit conversion of nil int…

パンくずリストとは?gretelでの作成の仕方

こんにちは、りゅうじです。 パンくずリストとは?gretelでの作成の仕方を勉強したのでアウトプットしていきます。 結論と全体の手順 パンくずリスト パンくずリストは、通常ページの上部に表示され、今訪問者がサイトのどこの階層にいるのかを伝えるリンク…

RSpecでのseed_fuの使い方・db:seedとの違い

こんにちは、りゅうじです。 bundle exec rails seed_fu と rails db:seed どちらも初期データを入れるために使いますが違いを勉強したのでアウトプットします。 結論 seed_fu を使うのが、初期データの入れ方としては良い。 rails db:seed 何も考えずに使う…