Programming Journal

学習したことの整理用です。

2020-10-01から1ヶ月間の記事一覧

【Rails】【エラー】method: :deleteで指定しているのにshowアクションへ飛んでしまう

エラー発生 復習用に簡単なCRUD機能のついた記事投稿アプリを作成しています。 削除用のボタンを押しても削除されず、なぜかshow詳細ページへ遷移してしまう…。 method: :deleteで指定し、Cromeの検証画面でも正常にみえるのに… Crome検証画面 = link_to 'de…

【Rails】雑多なメモ

all_day 昨日作った記事だけ取得するscopeを作りたかったとき、Date.yesterdayやTime.current.yesterdayだと想定している挙動にならない… all_dayを使う! # NG scope :yesterday_published, -> { where(published_at: Date.yesterday) } # Good scope :yest…

【Rails】Active Storageを使って画像を複数枚アップロード&削除する

実装したいこと 複数枚の画像を一度にアップロードする Model Controller View 躓いたところ アップロードした画像を削除するには Controller Rooting View 実装したいこと 以前、ActiveStorageを使って画像をアップロードする機能を実装しました。 今回は、…

【Rails】Active Storageを使って画像をアップロードする

実装したいこと 以前、gemのCarrier Waveを使って画像アップロード機能を実装しました。 今回は試しにActive Storageを使用してみたいと思います。 初めて使ったのですが、すごく簡単でした。 ただし、ファイルの形式のバリデーションやデフォルト画像の設定…

【Rails】YoutubeとTwitterをAPIを使わずに記事に埋め込む

実装したいこと 記事投稿アプリで、YoutubeやTwitterを記事に埋め込みたい。 URLを入力したら、埋め込み用に変換して、記事に反映させたい。 Slim記法が苦手で、HTMLに反映させるのに手こずってしまいました。。便利ツールを使ってようやくできた。(後述) …

【RSpec】画像の登録と表示についてテストする

実装したいこと 画像投稿機能について、前回実装した内容をテストしたい 画像選択の仕方と、画像の位置をどう判定するのか悩みました。 study-diary.hatenadiary.jp 前提 RSpec、Factory Botは設定済みです。 Active Storageセットアップ Active Storageのサ…

【Rails】ユーザーの入力値を画像表示に反映させる

実装したいこと 記事投稿アプリで、記事のアイキャッチ画像を設定できます。 アイキャッチ画像をユーザーの入力した幅に設定したい。 アイキャッチ画像をユーザーの選択した位置に設定したい。 前提 記事投稿の機能は実装済です。 今回は画像の表示を変更す…

【Rails】【 i18n】日本語化する

初期設定 config/application.rb モジュール内に以下を記入。 ※私は誤ってモジュール外に記入し、rails sエラー「undefined method 'config'」となって数十分溶かしました。 config.i18n.default_locale = :ja ##デフォルトの言語設定 config.i18n.load_path…

【Rails】【devise】deviseを使って認証機能を実装する

実装したいこと ログイン機能・ユーザーの新規作成機能を実装したい。 sorceryは使ったことがあったのですが、試しにdeviseでも認証機能を作成したいと思います。 とりあえず、必要最低限な部分は結構簡単にできました。 実装の流れ gem 'devise'のインスト…

【Rails】【Pundit】認可機能の追加

実装したいこと 記事投稿アプリで、管理者以外は記事のCRUD機能を使用できないようにしたい。 権限のないユーザーが該当のページにアクセスしたときは、403エラー画面を表示させる。 実装の流れ Punditの導入 policyファイルの設定 Controller設定 View設定 …

【Rails】【cron】1時間ごとにタスクを実行する

実装したいこと 実装の流れ Rakeとは cronとは Rakeタスクの実装 前提 私のNGコード OKコード Rakeタスクの実行 gem wheneverの導入 suchedule.rb Crontabへの書き込み 実装したいこと 記事公開アプリがあります。 記事の状態が「公開待ち」で公開日時を指定…

【Rails】FatControllerをスッキリさせる

実装したいこと 前提 FatController 何がダメなのか 改善 諸々をモデルへ切り分ける 修正したコントローラ 実装したいこと 記事を投稿するアプリの編集画面で、記事のステータスを「下書き」「公開」「公開待ち」に分類したい。 ステータスと公開日時は編集…

【Rails】【エラー】TypeError - no implicit conversion of nil into String:

エラーを解消したい 記事投稿アプリの中で、記事の中身(文章)を記入せずに空のままプレビュー画面を見ようとしたらエラーがでました。 TypeError - no implicit conversion of nil into String: エラー画面 英単語の意味 implicit suggested or understood…

【Rails】パンくずリストの実装

実装したいこと gem " gretel"の導入 Generating breadcrumbs configuration file View RSpec 実装したいこと ウェブページの上部にパンくずリストを表示したいです。 パンくずリストとは…パンくずリスト 自分が今どのページにいるか分かるリスト。 リスト内…

【RSpec】 管理者・一般ユーザーを分けてテストデータを作成する

実装したいこと trait マクロを使ってログイン機能だけセットする module ? macros? System Spec System Specの命名について NGコード 参考 実装したいこと 管理者と一般ユーザーで権限が違うため、それぞれのテストデータを作成したい。 trait トレイトを使…

【RSpec】gem Seed Fu

gem Seed Fu Seed Fu is an attempt to once and for all solve the problem of inserting and maintaining seed data in a database. It uses a variety of techniques gathered from various places around the web and combines them to create what is h…

【Rails】雑多なメモ

知らないメソッドが色々ありすぎて、忘れそうなのでメモしていきます。 protect_from_forgery with: :exception # Prevent CSRF attacks by raising an exception. # For APIs, you may want to use :null_session instead. protect_from_forgery with: :exc…

【Rails】ArgumentError - Nil location provided. Can't build URI エラーが出たら

エラーで悩んだのでメモ 画像を投稿するページで、画像を選択しないでプレビュー画面を開こうとすると以下のエラーになりました。 エラー画面 ArgumentError - Nil location provided. Can't build URI ArgumentError ArgumentError - Nil location provided…