wheneverを使用して記事数一覧のメール送信

2021.6.10 応用編10 <目標> wheneverを導入して毎日am9:00に下記の内容を管理者にメールで送信させるメールの件名には「公開済記事の集計結果」と設定 管理者のメールアドレスにはadmin@example.comを設定 流れ 参照 ActionMailerとWheneverの使い方とメール…

トップ画面をスライダー形式に変更

2021.6.2 応用編9 <目標> ブログのトップ画像は複数枚の画像が一定間隔で切り替わるようにする 切り替わる画像は、管理画面でアップロードと削除ができるようにする faviconやog-imageに関しても、個別に削除できるようにする main_imagesには、複数の画像…

埋め込みメディアタイプにTwitter追加

2021.6.1 応用編8 APIではなくローカルで作成する。ローカルで作成することによって、処理時間の短縮を狙う。 【Twitter】埋め込み処理をAPIに投げずにローカルで行う - mizuff_diary <目標> ツイートのURLを登録して動的にツイートを埋め込めるようにする…

アイキャッチの表示サイズ・位置指定

2021.5.27 応用編7 アイキャッチ 投稿ページの記事タイトルの下に表示される画像のこと Active Storage gem について ファイルアップロードを簡単に実装できるgem。rails 5.2から導入されている。 使い方 1 gemfileに追加インストール後、 $ rails active_s…

「<<」について

「<<」について この二箇所「=」と「<<」なぜわざわざ使い分けているのか理解したい。 trait :with_author do transient do sequence(:author_name) { |n| "test_author_name_#{n}" } sequence(:tag_slug) { |n| "test_author_slug_#{n}" } end after(:build…

Pundit 権限管理

2021.5.24 応用編6 <現在> Punditは入っている <目標> 権限設定の記述を見つけ、ライターにタグ・著者・カテゴリーの一覧表示・編集・削除を出来ないようにする。 権限エラーが発生した際に、403エラーのページを表示させる(403.htmlは、public配下に新たに…

form object 検索機能を追加する

2021.5.21 応用編5 検索機能を追加する form objectを使用して、検索機能を作る Active Model 、scopeも使用していく <現在> ・セレクトボックスのカテゴリー検索 ・フリーワードによるタイトル検索 <目標> ・著者、タグをセレクトボックスにより選択できる…

単一テーブル継承 type{}

2021.5.18 課題4でのFactoryBotのtypeが何なのか理解したい。 参照 【Rails】単一テーブル継承(STI)について - Qiita (spec/factories/categories.rb) FactoryBot.define do factory :category do type { 'Category' } #ここの部分 sequence(:name) { |n| "…

&:メソッド名 について

2021.5.18 &:メソッド名について 応用編4でこの「&:」が何なのか気になり調べてみたので、忘れないようにまとめてみる。 Article.publish_wait.past_published.find_each(&:published!) @user = User.new(user_params).tap(&:valid?) なかなか、調べてもヒ…

応用編4

2021.5.7 記事ステータスの追加 記事を作成、公開する 公開 公開待ち1時間ごとに指定可能 下書き 下書きにし、公開日を指定し、更新ボタン、公開ボタン→公開待ち 公開日を過去の日に設定すると自動的に公開になる rakeタスク Rakeとはrubyで処理内容を定義…

応用編3

2021.5.6 テキスト挿入時のバグ修正 テキストを入力せずにプレビューを確認すると、no implicit conversion of nil into Stringというエラーが表示される。 (↓元々) def build_body(controller) result = '' article_blocks.each do |article_block| result <…

応用編2

2021.5.6 パンくずの設定 パンくずとは パンくずリストを省略した表現で、ユーザーが今WEBサイト内のどの位置にいるのかを視覚的に分かりやすくさせるために上位の階層となるWEBページを階層順にリストアップし、リンクを設置したリストのこと。 メリット ユ…

応用編1

2021.05.04 応用編1 slim ・< >や閉じタグなどを削り、最低限必要なものだけを残した、非常にシンプルなテンプレート言語 ・軽量 ・HTMLがより簡潔に記述できる 導入方法 Gemfileにslim-railsを記述bundle install を実行後viewファイルの拡張子をhtml.slim…

応用編 環境構築

2021.4.29 Redisとは ・無料で使用できるDB管理システムの一つ ・高速にデータを処理することができる 参照 初心者による初心者のためのRedis解説 - Qiita Homebrewを使用してRedisをインストールする Homebrew: OS環境におけるいわゆるパッケージマネージャ…

RSpec編4

2021.4.29 時間がかかってしまった...。 調べ方が難しかった。 trait使い方 参照 FactoryBot Traits - Qiita FactoryBotでtraitを使おう - Qiita 今回の場合 (spec/factories/task.rb)に定義する。 FactoryBot.define do factory :task do title { 'Task' } …

RSpec編3

2021.4.21 ログイン処理を共通化する supportディレクトリ作成 % mkdir support supportディレクトリ下にファイル作成・編集 % touch login_macoros.rb (spec/support/login_macros.rb) module LoginMacros def login_as(user) visit root_path click_link '…

RSpec編2

2021.4.20 FactoryBot FactoryBot: テストデータの作成を手伝ってくれるgem インスタンスメソッドを作成するメソッドはbuild と create がある。 (spec/factories/tasks.rb) FactoryBot.define do factory :task do sequence(:title, "title_1") #❶title_1や…

RSpec編 1

2021.4.17 RSpec編 1 <Everyday Railsから> describeとcontextについて describe: (日本語で「〜を述べる」 「〜を説明する」) テストのグループ化を宣言している。ネストさせることも可能。 context: (日本語で「文脈」「状況」) スペックを読みやすくするためにある。テストを</everyday>…

基礎編23

[管理画面]掲示板/ユーザのCRUD機能の作成 参考 ransackで検索機能を実装 - Ruby on Railsの備忘録 Admin-LTE3を使用した管理画面の実装③(掲示板/ユーザーのCRUD) - プログラミング学習 備忘録 enum_heplを使用し、セレクトボックスを実装する 参照: Admin-L…

基礎編22

2021.4.6 [管理画面] 管理画面へのログイン機能、管理画面トップページの作成 <今回出たエラー> ❶ BootstrapよりjQueryを先に記述してくださいという意味 Uncaught TypeError: Bootstrap's JavaScript requires jQuery. jQuery must be included before Boot…

基礎編21

2021.4.5 パスワードリセット機能の実装 sorceryのreset_passwordモジュールを使用する。 (イメージ) ログイン画面のパスワードおお忘れの方(リンク)からパスワード変更の申請ページへ パスワード変更申請ページからメールアドレスを入力→ メールアドレスに…

基礎編20

2021.4.3 プロフィール編集機能の実装 ユーザーのプロフィール画面の編集機能を実装する 参照 プロフィール編集機能の実装 - Qiita resourceを使ったプロフィール編集機能の実装 - olive_miuのブログ <引っかかったエラー> プロフィールを編集したときに「メ…

基礎編19

2021.4.3 掲示板の検索機能を実装 ransackを使用して、掲示板の検索機能を実装する 参照 ransackを使った検索機能の実装 - Qiita Ransackを使って検索機能を実装してみた - プログラミング学習 備忘録 【Rails】検索機能の実装手順 | たみずブログ <ポイント…

基礎編18

2021.4.2 掲示板のページネーション kaminariを使用し、掲示板とブックマーク一覧にページネーションを実装する 1ページあたり20件を表示する bootstrap4を使用する 参照 【Rails初心者】ページネーションを実装して自分好みにデザインを変える - Qiita <ポ…

基礎編16

2021.3.29 ブックマークボタンのajax化 remote: trueを使用 参照 【Rails】簡単なajax処理 (remote true) - bokuの学習記録 ajaxとは:Asynchronous JavaScript + XML の略で、非同期通信と呼ばれる通信方法のこと。 クライアントとサーバーの間の通信では…

基礎編15

2021.3.26 課題15 ブックマーク機能の追加 参照 中間テーブルを使ったお気に入り機能の実装! - Ruby on Railsの備忘録 includesについて 【Rails】N+1問題をincludesメソッドで解決しよう! | Pikawaka - ピカ1わかりやすいプログラミング用語サイト <ポイ…

基礎編14

2021.3.24 掲示板の編集、削除機能の実装 <ポイント> ❶ ✖️この記載だと、URL入力時のIDを変えると、自分自身が作成した掲示板を対象にできてしまう。editやupdateなど他人の作成した掲示板を変更できないようにする。 @board = Board.find(params[:id]) ○cur…

基礎編13

2021.3.24 タイトルを動的に出力する 参照 【Rails】provideとyieldを使ったページタイトルの設定【Rails Tutorial 3・4・5章まとめ】 - Qiita <自分でやった方法> (application.html.erb) titleにyieldを記述 <title><%= yield(:title) %>| RUNTEQ BOARD APP</title> (view…

基礎編12

2021.3.23 掲示板詳細画面の追加/コメント機能の実装 コメント一覧、コメントフォームがうまくいかなかった。 アソシエーションが加わったので、modelの指定などに戸惑った。 <今回学んだこと> ❶ board_path(comment.board) board_path(ID値)で"boards/ID"の…

基礎編11

2021.3.17 掲示板の画像アップロード機能 参照 【Rails】CarrierwaveとMiniMagickを使って画像を投稿する方法|TechTechMedia <使用するGemについて> Carrierwave : アップロード用のgem。Ruby on Rails の画像投稿の仕組み MiniMagick : 画像加工をしてくれ…