Vue.js 用語まとめ1

データ(UIの状態) イベントリスナー テンプレート記法(状態とDOMのマッピングの定義) フィルタ 算出プロパティ ディレクティブ メソッド ライフサイクルハック イベントハンドリングjQueryでのUI実装はイベントや要素が増えると複雑になりがちVue.jsはイベン…

rubyのextendについて

こんにちは!kossyです! 昨日は終日外出していたため、連続更新記録が途絶えてしまいました、、、 残念ですが、気持ちを切り替えて粛々と更新を続けます。 さて、今回はRubyのextendについてブログに残したいと思います。 モジュールとは そもそも、モジュ…

Railsでlibディレクトリをautoload対象に含める方法

こんにちは!kossyです! さて、今回は、各種ライブラリやRakeタスクファイルを配置する用途でよく用いられる、 libディレクトリ内のファイルをautoload対象に含める方法について、 ブログに残してみたいと思います。 そもそもautoloadってなに? 「命名規則…

Railsアプリの本番環境における画像データの置き場所

こんにちは!kossyです! さて、今回は、Railsでアプリケーションを開発する際の、 本番環境における画像データの置き場所はどこがいいのか、について、 ブログに残してみたいと思います。 ロゴや固定のアイコンはassetへ、ユーザーがアップロードする画像は…

ActiveRecordのメソッドに「!」がついた時とそうでない時の挙動の違い

こんにちは!kossyです! さて、今回は、ActiveRecordのメソッド(create, update, destroy, save)に!が付いている時と そうでない時の挙動の違いについて、ブログに残してみたいと思います。 例外を起こすか否か端的にまとめると、上記になります。「!」を伴…

「overloaded POST」 ってなんぞや?

こんにちは!kossyです! めっきりアウトプットが減ってしまいました、、、 Ruby sliverの取得・基本情報技術者の取得・オリアプの開発など、 やりたいこと、やるべきことが湯水の如く湧いて出てくるので、 やらないことを決めることが困難な状況であります…

深いアソシエーションを組んだ時はdelegateを設定しよう

こんにちは!kossyです! さて、今回はメソッドの移譲を実現するメソッド、delegateメソッドの使い方を ブログに残してみたいと思います。 環境 Rails 5.2.2 Ruby 2.5.1 MacOS Mojave ユースケース例えば、 ・Userクラス(name, email, profile_photo, passwo…

deviseのエラーメッセージ にbootstrapを当てたい

こんにちは!kossyです! さて、今回はRailsの認証系機能を提供しているgem「devise」のエラーメッセージ に cssのフレームワークであるbootstrapを当てたい時の方法をブログに残してみたいと思います。 なお、devise及びbootstrapの導入方法については割愛…

Railsアプリにdevise-two-factorとrqrcodeを使って2段階認証を導入した

こんにちは!kossyです! 最近はオリジナルアプリの実装に熱を入れ過ぎてブログの更新が疎かになっておりました、、、 アウトプットが大事だと頭でわかってはいるものの、 実行に移すのは大変ですね、、、 さて、今回はRailsアプリに2段階認証を導入する手順…

bundle installした時のwith native extensionsってなんだ?

こんにちは!kossyです! さて、今回はbundle installした時のログに現れるwith native extensionsの意味について、 ブログに残してみたいと思います。 C言語やC++で書かれているライブラリが必要gemの中には、ruby以外の言語に依存しているものもあり、 そ…

冗長な検索ロジックはscopeにしちゃおう

こんにちは!kossyです! さて、今回はRailsで独自にモデルのデータの絞り込みを定義できるscopeについて、 ブログに残してみたいと思います。 環境 Rails 5.1.6 Ruby 2.5.1 MacOS Mojave 実装方法 例えば、「公開が終了した映画の中で原作が漫画でないデー…

bundle installする時はパスの指定をしよう

こんにちは!kossyです! さて、今回はbundle installする時の注意事項について、ブログに残してみたいと思います。 bundle installする時はpathを指定しよう普段Gemfileを編集すると、 bundle installを実行すると思うのですが、 path vendor/bundleでパス…

Rspec使う時のgenerator設定

こんにちは!kossyです! さて、今回はrspec導入の際のgeneratorの設定についてブログに残してみたいと思います。 個人的には以下のような設定にすることが多いです。 config/application.rb config.generators do |g| g.template_engine :haml g.test_frame…

active_storageで画像を複数枚保存したい

こんにちは!kossyです! さて、今回はRails5.2系から使えるようになった、active_storageで画像の複数枚アップロードの実装方法を ブログに残してみたいと思います。 has_many_attachを使うだけ active_storageの導入についてはこちらを参考にしてみてくだ…

ブラウザから返ってくるenumの値はシンボルじゃなくて文字列だった

こんにちは!kossyです! さて、今回はenumで定義した値をブラウザからパラメータとして受け取る場合、シンボルの形式ではなく文字列で 返ってくるのに気づかずハマったので、備忘録としてブログに残してみたいと思います。 enumのステータスによって処理を…

まとめて値を更新したい時に便利!assign_attributesメソッド

こんにちは!kossyです! さて、今回は複数の値を更新したい時に便利なメソッド、 assign_attributesの使い方をブログに残してみたいと思います。 railsであれば、属性の値を上書きしたい時は、 @article.title = "sample"みたいな書き方をすると思うのです…

特定のテストケースを実行したい時のfocus: true

こんにちは!kossyです! さて、今回は、特定のテストケースを実行したい時に便利な、 focus: trueオプションの使い方について、ブログに残してみたいと思います。 環境 Rails 5.1.6 Ruby 2.5.1 rspec 3.8.0 MacOS Mojave まずはspec_helper.rbに設定以下の…

Rail5.2系でreferencesカラムを設定しようとした時のエラー

こんにちは!kossyです! さて、今回は、Rails5.2系で外部キーを設定しようとした時に遭遇したエラーについて、 ブログに残してみたいと思います。 環境 Rails 5.2.2 Ruby 2.5.1 エラーの状況 2019****_create_category.rb class CreateCategories < ActiveR…

link_toでページ内ジャンプ機能を設定してみた

こんにちは!kossyです! さて、Railsのビューヘルパーであるlink_toでページ内リンク機能の設定方法について、 ブログに残してみました。HTMLではaタグで実現できますが、link_toを使う場合はどのように実装すればいいのか、 少し詰まったので、備忘録とし…

link_toで画像付きのリンクを生成してみた

こんにちは!kossyです! さて、今回は、Railsのビューヘルパーであるlink_toで、画像付きのリンクを生成する方法を ブログに残してみたいと思います。 環境 Rails 5.2.2 Ruby 2.5.1 Haml link_toの引数にimage_tagを使えばOK 同じくRailsのビューヘルパーで…

ActiveModelを使ってDBと関係ないFormの構築してみた

こんにちは!kossyです! さて、今回はActiveModelを使ったフォームの構築についてブログに残してみたいと思います。 そもそもActiveModelって??DBと関係ないFormを構築できるスグレモノです。 Active Recordを使った時と同じ振る舞いを実現できます。Form…

sprintfでランダムな4桁の数字を生成してみた

こんにちは!kossyです! さて、今回はrubyのメソッドであるsprintfを使って、ランダムな4桁の数字の生成方法を ブログに残してみたいと思います。 sprintfメソッドって? docs.ruby-lang.org 引数にフォーマットと文字列や数値を指定すると、 フォーマット…

request_specでログイン・ログアウトを実装

こんにちは!kossyです! さて、今回はrequest_specでログイン・ログアウト状態を再現したい時の方法を ブログに残してみたいと思います。 環境 Rails 5.1.6 Ruby 2.5.1 rspec 3.8.0 support直下にmoduleを定義したファイルを作成し、rails_helper.rbに読み…

Railsのgem 'active_hash'で都道府県データを作成してみた

こんにちは!kossyです! 本日気になったニュースはこちら japan.cnet.comオンライン診療、遠隔医療分野はこれからどんどん盛り上がりそうです。 病院の薬も市販の薬もそこまで効能に大差はないと言う話も聞きますし、 規制でガチガチになっている医療業界が…

factoryBotの{ }はどういう挙動になるのか

こんにちは!kossyです! アウトプットが大事だと頭ではわかっていながら、 AmazonPrimeVideoにどっぷりの正月休みでした、、、笑もう新年明けて仕事も始まっているので、 気持ちを切り替えて粛々とブログを更新していきます。 さて、今回はRailsのテストで…

ng new でプロジェクト名に_(アンダースコア)は使えないという罠

こんにちは!kossyです! 本日気になったニュースはこちら headlines.yahoo.co.jpiphoneめっちゃ高いですよね。 円高だった頃はまだ安かったイメージですけど、 Zenfoneとかその他ローエンド?なAndroid端末とはとんでもない価格差になった感があります。も…

npm installして怒られた時の対処法

こんにちは!kossyです! 本日気になったニュースはこちら japanese.engadget.comまさかLINE PAYも対抗してくるとは思ってもみませんでした。 個人的には、年末か年明け頃に再度PayPayが還元キャンペーンを行うと見込んでいたのですが、 これで怪しくなった…

TLSプロトコルの解説スライド

こんにちは!kossyです! 12月からエンジニアとして働き出して、業務で今まで全く使っていない技術を使うことになったので、 基礎を固める学習に時間を取られブログを全く更新できていませんでした、、、 この土日はゆっくりできそうなので、ブログも更新し…

Consoleでモデルの出力を整形するGem 'Hirb'

こんにちは!kossyです! 本日気になったニュースはこちら headlines.yahoo.co.jp解雇規制の緩和が行われるまでは、共存の状態が続くのではないでしょうか。 もっとも、その領域に口を出す政治家が現れるかはわかりませんが、、、 さて、今回はRailsのREPL環…

localhost:3000/rails/info でルーティング一覧が見られる

こんにちは!kossyです! 本日気になったニュースはこちら www.tv-tokyo.co.jp本日のことでもないしニュースでもないですが(笑)ビニールハウスってデッドスペースが多いですし、 野菜を縦に育てるという発想が素晴らしいですね。野菜を一年中安価で提供でき…