Railsアプリで絵文字対応のブログ機能を実装する方法を解説😊

はじめに ここ最近、Web上でも絵文字を使う機会が多くなってきました。 何の気無しに絵文字を使っている人も多いと思いますが、絵文字対応のWebアプリを作るには適切な文字コードを設定する必要があります。 今回はRailsで作ったブログ機能を絵文字対応にする方法を解説します😊 絵文字非対応時のエラーメッセージ 絵文 ...

フォーム処理時にバリデーションエラーが発生した場合の実装【日本語化・スタイル調整】

はじめに フォームから送られるパラメータがモデルのバリデーションに引っかかった場合、エラー内容をビューに表示する必要があります。 Railsではそのための仕組みがあらかじめ用意されているので、比較的簡単に実装することが出来ます。 ただし、一部そのままでは使いにくい箇所があるので、そのあたりも含めてエラー時の処理 ...

【Rails6対応】Railsアプリのデプロイ方法

はじめに Railsアプリのデプロイ方法はこちら (https://qiita.com/ryo2132/items/f62690f0b16ec11270fe)の手順を参考にさせてもらっています。しかし上記手順では一部、Rails6に対応していない部分があるため、ここで差分としてまとめたいと思います。 基本的に上 ...

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

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

RailsアプリにおけるReactの使い方や注意点など

はじめに こちらのページ (https://qiita.com/TsutomuNakamura/items/72d8cf9f07a5a30be048)でReactの基本について勉強しました。 Railsアプリの中でReactを利用するという観点でいくつかトピックを抜き出してみました。 Babelの利用 Babe ...

【Rails】Railsアプリにreact-railsを追加する手順

はじめに JavaScriptフレームワークといえば長らくjQuery一強でした。しかし、ここ数年はAngularJSやReact、Vue.jsといった新しいフレームワークがどんどんと登場しています。過去5年間の検索回数の推移を見てみると、2018年5月頃にjQueryとReactが逆転していることがわかります ...

【Rails】ConoHaメールサーバーを契約してRailsアプリからメール送信する方法

はじめに 仕事でConoHaのメールサーバーを契約してRailsアプリからメール送信する実装を行う機会がありましたので、手順を残そうと思います。 前提 今回は、既に契約済みのConoHa VPSサーバーにメールサーバーを追加契約する手順で行っています。 メールサーバーのみ契約することもできると思うので、新規契約 ...

【Rails】Markdownで記事を書く!「Redcarpet + Rouge」の導入・使用方法

はじめに 当ポートフォリオサイトの記事投稿画面では、長らくRails6から導入されたAction Textを使っていました(Action Textについては下記の記事をご覧ください)。 <iframe class="hatenablogcard" style="width:100%;height:155px;" ...

Railsアプリの名称を変更したい!できるだけ楽に安心して行える方法を解説【+リモートリポジトリー名変更】

Railsアプリを作成してしばらくしてからアプリ名を変更したいと思ったことはないでしょうか。Railsのアプリ名とは、最初にrails newしたときに指定した文字列のことです。 $ rails new <アプリ名>ここで指定したアプリ名はRailsアプリのソースコードのそこかしこに書かれています。少しPCに詳 ...

【Rails6】Action Textで挿入した画像の保存先をAmazon S3やGCSに変更する方法

はじめに Rails 6.0で追加された「Action Text」で挿入した画像の保存先は、デフォルトではローカルディスク(Railsアプリの実行環境)となっています。 本記事では、Action Textで挿入した画像の保存先をローカルディスクからAmazon S3やGCSといったクラウドストレージサービスに変 ...