2019-03-01から1ヶ月間の記事一覧

意味のあるテストデータの作成

FactoryBotを使ったデータ作成について基礎を理解したいと思うことが多々ありました。 Everyday Rails Rspec 第4章、「意味のあるテストデータの作成」についてまとめる機会を頂いたので、こちらに下書きを書いていきたいと思います! github.com 内容 ・フ…

rakeタスクを作る

menuテーブルが持っていたimageカラムの値を、menus_imagesテーブルのimageカラムに移すrakeタスクを作りました。 rakeタスクは初めて作ったので、手順を書き留めておきます。 タスクを生成する 以下のコマンドを打つと、タスクがlib/tasks配下に生成されま…

複数前のコミットを統合する

git

直前のコミットを今書いているものと統合したいという場合でしたら、 git commit --amend でまとめ直すことはよくやっていたのですが、 複数前のコミットを統合してまとめ直すにはどうすればいいか分からず調べました。 その手順を書き留めておこうと思いま…

javascriptで「もし 'cssのclass' が存在すれば」という条件をかく

InfiniteScrollを実装していた箇所で、以下のようなエラー文がコンソールに出てしまっておりました。 おそらくページネーションが無いときにも関数が呼ばれてしまっており、エラーが出ているようだと思い、InfiniteScrollを実装していた関数を呼ぶ部分で、条…

ダウンロードtsvのテスト

「tsvファイルのダウンロードができる」というテストのやり方がわかりませんでした。 調べて試したところ、以下のような書き方で確かめることができるようです。 describe 'Hogeユーザーダウンロードtsv' do it 'ダウンロードできる' do visit admin_hoge_us…

Railsdmへ行った!!!

今日はRailsdmへ行ってきました!!! railsdm.github.io とっても楽しかったです!!! もし「初心者だから理解できなそう、楽しめるか不安」という人がいたら、「理解できてなくてもすっごく楽しいよ!!」と伝えたいですw ただ残念なことにRailsdmは今回…

FactoryBotでtraitを使ってアソシエーション先のデータも作る

FactoryBotでアソシエーションが絡んだデータの事が今ひとつ理解できておりませんw 今日はtraitを使ってアソシエーション先のテストデータも作るということを覚えました。 そのやり方についてです。 ファクトリーを設定 通常のFactoryBotを用いたデータ生成…

文字列取得してDate型に変換して整形する(javascript)

datepickerの{format: 'yyyy/mm/dd'}オプションを使って、日付の表示を整形している部分があったのですが、検索実行したりリロードしたりすると、'00:00:00 +0900'という余分な部分が表示されてしまっておりました。 直したいと思い、まずtext_fieldに対して…

ネストした配列を平坦化

以下のように、whereで取得したレコードの配列をmapメソッドでアソシエーション先(1対多の多)のレコードの配列に変換したところ、配列の中に配列が入っている状態になってしまいました。 Hoge.where(name: argment).map{|r|r.fugas} その後処理を続けるため…

jsでbinding.pryっぽいデバッグ

検証ツールでjavascriptでもbinding.pryのようなことが出来ると教えてもらい、初めて知りました。 今までチェックしたい値を変数に入れて、console.log()で確認、ということをコマコマしていたのですが、教えてもらった方法の方がお手軽で便利でした。 その…

ransackを使った日付検索で指定した日付の前日までのデータしか取得できないのを修正

問題 ransackで oooo/oo/oo から xxxx/xx/xx までというふうに日付検索ができるようにしていたのですが、 そのままだと xxxx/xx/xx の部分の時間が00:00:00となってしまう事で、指定した日付の前日までのデータしか取得できませんでした。 2019-03-01から201…

rescue_fromは下に書いたものから評価される

エラーページ をrescue_fromを使って以下のように設定しておりました。 class Foo::BarController < ApplicationController 略 rescue_from ActiveRecord::RecordNotFound, with: :render_404 rescue_from ActionController::RoutingError, with: :render_40…

クエリパラメータを次のアクションへ渡す

現在のアクションで持っているクエリパラメータをそのまま次のアクションに渡そうと思ったのですが、少し気をつけないと次のアクションへ渡せなかったので、その方法を書き留めておきます。 エラー内容 次のアクションにも渡したいクエリパラメータがある時…

無限スクロール実装

Infinite Scrollというライブラリを使って無限スクロールを実装しました。 その際のやり方について書き留めておきます。 以下はInfinite Scrollのリンクです! infinite-scroll.com 実装にあたってこちらの記事を参考にさせていただきました。 qiita.com Inf…

kaminariでundefined method `page' for #<Array:0x000xxxxxx>と出た

Kaminariを使用したページネーションを作ろうとしており、通常通り実装していたら、以下のようなエラーが出てしまいました。。。 NoMethodError - undefined method `page' for #<Array:0x000xxxxxx> kaminariの使い方は間違っていないはず!何故?!と思い調べてみたら無事解決</array:0x000xxxxxx>…

ApplaudHer Event featuring with Rails Girls Tokyoへ参加した

本日はApplaudHer Event featuring with Rails Girls Tokyoというイベントへ参加してまいりました! 以下はそのイベントのリンクです! connpass.com このイベントはいろんな国籍の方々が参加されており、英語が飛び交う会でした。 また、普段から大変お世話…

徳丸本輪読会(セッション管理編)へ行った

今日は徳丸本の輪読会へ参加させていただきました! 難しくて話についていけないくなる事も多々ありましたが、途中途中で理解度確認&解説を入れてくれるおかげでセッション管理について理解が深まりました!! 以下、本日の内容のざっっっくりしたメモです(…

z-indexが下の要素も上の要素もクリックできるようにする

z-indexを指定して要素を重ねている時、下になっている要素にリンクを設定したのですが、そのままだとクリック出来ない状態で困りました。 解決方法についてメモしておきます。 問題 もともとz-indexが指定してあり、2つの要素が重なっておりました。 重な…

yarnでインストールされているライブラリをrequireする際の書き方

すでにyarnでインストールされているjsライブラリを使いたかったのですが、 「jsファイルでrequireしなきゃいけないのだろうけど、どう指定してrequireすればいいんだろう。。。」となりました。 なんとか上手くいったので方法を書いておきます。 実例 アプ…

ransackで数字の1をパラメータで渡すとエラーが出た

ransackを使った検索フォームを作っていたのですが、数字の1をパラメータとして送る際、エラーが出てしまう問題にぶつかりました。 その解決方法について書き留めておこうと思います。 エラー内容 ransackを使って作成した検索フォームで、数値を入力しても…

Dockerでbinding.pryをする

binding.pryを使いたくなったのですが、Dockerだとターミナルにpryのコンソールが出てくれません。。。 そこでどうすればいいか調べ、うまく行ったのでその方法をメモしておこうと思います! 手順 ①処理を止めたい場所にbinding.pryをかく これは普通の時と…

よちよち.rbへ行った

本日よちよち.rbへ参加してまいりました! 今回は伊藤淳一さんがゲストとしてきてくださっており、参加者の質問に答えてくれるというコンテンツがありました!! 参加者自己紹介では、参加者のみなさんが伊藤さんを知ったきっかけを話しました! 自分は以下…

TokyoGirlsrbに参加してきた!!

本日はTokyoGirlsrbというイベントに参加してきました!! TokyoGirlsrbは、女性が参加しやすい(でも女性限定ではない)勉強会です! 実物の伊藤淳一さんにも初めてお会いすることができました! 内容としては以下の4つの発表がありました!! ①去年の4月に…

Heroku Scheduler

先日、作成中のアプリで、1日1回メール送信を実行するためにwheneverというgemを使おうとしていたのですが、「それだとheroku上で動かないよ!heroku上で一定時間ごとに実行したいことがある際は、Heroku Schedulerというherokuのaddonが簡単で便利だよ!」…

Dockerを入れた!!

本日とうとうDockerを自分のPCに入れました!!! まだまだわかっていない事だらけですが、とりあえずDockerインストールしてプロジェクトのセットアップをするまでの手順をメモしておこうと思います!! (セットアップといってもすでに誰かが用意してくれて…