【Rails】Webpacker管理下の構成を整える

はじめに Rails6で標準導入されたWebpacker管理下の構成を整えたので記事にします。Webpackerで管理対象としているのは以下の3つです。 JavaScript CSS 画像 あくまで自分なりにわかりやすい構成に整えたという話ですので、ベストプラクティスを提案するとか言った大それたものではないこと ...

【Rails】Webpacker管理下のアイコン画像をFaviconに設定する方法

はじめに Rails6から標準導入されたWebpackerで画像を管理し、その中のアイコン画像をFavicon(タブやお気に入りに表示されるアイコン)に設定する方法を解説します。 Favicon設定方法 画像の用意 まずはFaviconに設定する画像を用意します。今回はフリーで使用できるアイコンを使うことにしま ...

【Rails】Webpackerで画像ファイルを管理し、CSSやビューから参照する方法

はじめに Rails6から標準導入されたWebpackerは、JavaScriptやCSSだけでなく画像ファイルの管理も行えます。 今回はWebpackerで画像ファイルを管理し、CSSやビューから参照する方法を解説します。 画像ファイルの配置場所 Webpackerで画像ファイルを管理するには、Webpack ...

【Rails】Webpacker管理のCSSがHerokuで反映されない場合の対処

はじめに Rails6から標準導入されたWebpacker(Webpack for Rails)でCSSを管理しているRailsアプリのCSSが、ローカル開発環境では反映されていたのに、デプロイ先のHerokuでは反映されないという事象がありました。 対処 app/views/layouts/applicati ...

Railsアプリのデプロイ時に必要となる【Capistrano】や【Unicorn】の理解に役立つ記事まとめ

はじめに Railsアプリのデプロイ方法を調べていると【Capistrano】や【Unicorn】といった見慣れない名称がほぼ必ず出てきます。 はじめてデプロイするときはそれが何なのかもわからないままとりあえずインストールして、見様見真似で設定(ほぼコピペ)して、やっぱりエラーが出て絶望... という流れを経験 ...

【Rails】bundle updateでGemがアップデートされない原因

はじめに 前回、GitHubからセキュリティアラートが届いたらすぐにGemのアップデートを行おうという記事を書きました。 <div class="iframely-embed"><div class="iframely-responsive" style="height: 140px; padding-bott ...

【Rails】GitHubからセキュリティアラートが届いたときの対応【Gemfile】

はじめに GitHubでソース管理を行っていると、ときどきGitHubからセキュリティアラートのメールが届くことと思います。 該当のリポジトリを見てみると以下のようにセキュリティアラートが並んでいて少しびっくりしてしまいます。 <img data-src="https://i.imgur.com/S3RxpPZ ...

【2019年版】RailsアプリからTwitterに更新内容を自動投稿!RailsとTwitterの連携機能を実装

はじめに Railsアプリで作ったブログなどで更新内容をTwitterに投稿するといった連携機能を実装する方法を解説します。 実装するにはまずTwitter APIに登録する必要があるのですが、登録方法が年々(主に複雑なほうへと)変化しているようなので、2019年12月現在の登録方法で書いています。 Twitt ...

【Rails】Action Textの基本情報と実装方法

はじめに Rails 6でAction Textという機能が追加されました。Action Textを使えば簡単にリッチテキストエディターを実装することができます。Action TextはTrixエディターを使用しています。Trixエディターは「WYSIWYG」と呼ばれる編集方式を採用しているエディターです。 W ...

Capistranoでデプロイしたときにリモートリポジトリ(Github)への接続に失敗する場合の対処法

Capistranoを使ってRailアプリをデプロイするとき、直接サーバーに送るのではなく、Githubを経由してファイルが送信されます。 そのため、あらかじめサーバー上で秘密鍵と公開鍵の組み合わせを生成し、公開鍵をGithubに登録しておく必要があります。 そして接続情報は設定ファイル(/etc/ssh/ss ...