FooBar

note to self

Ruby on Rails

rubocopを導入してコードの品質を保つ方法

こんにちは。本日はrubocopを使う方法についてです。 Rubyの静的コード解析であるrubocopを導入すれば、チームで開発している場合など、個々人によって書き方が違うコードに規則を適用して品質が保たれたコードを書くことができるメリットがあります。 ==== …

Railsで長い文字列を省略して「続きを読む」機能を実装する

こんにちは。本日はRailsで長い文字列を省略して、「続きを読む」を実装する方法です 「あいうえおかき...」みたいな長い文字列を省略して、「続きを読む」・「もっと見る」のようなリンクを押したら詳細ページに飛ぶみたいな機能を実装したいと思うことがあ…

Railsでbackground: url();を使って画像が表示されない問題を解決する

こんにちは。本日はRailsの本番環境でassets以下に配置した画像がbackgroundで表示されない問題についてです。 RailsのAsset Pipelineが邪魔をしているようで、このような問題が起きてしまうそうです。 今回はその解決策を共有したいと思います。 ==== 起こ…

Railsでwill_paginateを使ってページネーションを実装する

こんにちは。本日はページネーションGemのwill_paginateを使ってページングを実装する方法です。 will_paginateと似たようなGemに「kaminari」というGemがあります。 どちらも人気のページャーGemですが、今回はwill_paginateの使い方を説明していきます。 =…

Railsでkaminariを使ってページネーションを実装する

こんにちは。本日はページネーションGemのkaminariを使ってページングを実装する方法です。 kaminariと似たようなGemに「will_paginate」というGemがあります。 どちらも人気のページャーGemですが、今回はkaminariの使い方を説明していきます。 ==== rails…

Railsでseeds.rbを使って初期データを投入する

こんにちは。本日は「seeds.rb」をつかってシードデータ(初期データ)を投入する方法です。 シードデータを投入する方法はいくつかありますが、今回はRailsで標準で装備されている「rake db:seed」を使用した王道のやり方を説明したいと思います。 ==== シー…

Railsのアプリ名を変更する方法

こんにちは。本日は既存のRailsアプリのプロジェクト名を変更する方法です。 Railsアプリを作成した後に、やっぱりアプリ名を変更したい場合があると思いますので、その方法を備忘録として書いておきます。 ==== config/application.rb config/initializers/…

Herokuの登録からRailsアプリのデプロイまで

こんにちは。本日はherokuの使い方についてです。 アプリを作ったら、いよいよ公開ということになります。 しかしながら、サーバー構築して・ドメイン設定して・・・と、アプリをデプロイするのは初心者には容易ではありません。 herokuを使えば誰でも簡単に…

Rails Tutorial(第4版)でテストをするとエラーがでる

こんにちは。本日はRails Tutorialで発生したエラーについてです。 チュートリアルの第4版(Rails5.0.0.1)でテストをすると動作しないエラーがありました。 ==== バージョン エラー内容 解決方法 バージョン Ruby on Rails 5.0.0.1 Rails tutorial 第4版 エラ…

Railsでbundle installするとnokogiriをインストールしろとエラーがでる

こんにちは。本日はbundle install時のnokogiriのインストールについてです。 今までエラーなくbundleできていましたが、ある日突然bundleできなくなってしまいました。 今回はその解決策を共有したいと思います。 ==== bundle installでエラー --use-system…

rails newからgitによるバージョン管理まで

こんにちは。本日はRailsアプリを作成してからGitによるバージョン管理をする流れについてです。 個人的にRailsアプリを作成したあと、Gitやホスティングサービスの設定でド忘れしてしまうことがあり(やはり開発やデバックがメインで、頻繁にRailsアプリを作…

rails test すると gem 'web-console', group: :development というエラーが表示される

こんにちは。本日はrailsでtestをしようとした時に出たエラーについてです。 ==== エラー内容 解決方法 エラー内容 railsでテストを実施しようとしたが、以下のようなエラーが発生しました。 $ rails test Web Console is activated in the test environment…

capistranoでデプロイした時にmysql2が認識されない問題を解決する

こんにちは。本日はcapistranoでデプロイ時に遭遇したエラーについてです。 RailsアプリのデータベースにMySQLを使用しようと思いましたが、GemfileからMySQLアダプターが読み込めないというエラーが発生したので、今回はその解決策を共有したいと思います。…

Railsで別モデルにマスタデータを持たずに都道府県データを扱う

こんにちは。本日はマスタデータを持たなくても都道府県データを扱うことができるjp_prefectureの使い方についてです。 サービスをつくる上で都道府県データを扱う機会が多いと思いますが、jp_prefectureなら簡単に都道府県データを扱うことができるので個人…

active_hashを使って静的データやマスタデータを持つ

こんにちは。本日はactive_hashについてです。 active_hashはマスタデータや静的データを持つにはもってこいのGemで、最近Railsアプリに導入している人や企業も増えているようです。 ==== active_hashとは 基本的な使い方 インストール モデル アソシエーシ…

seed-fuを使ってdbに初期データ(シードデータ)を入れる

こんにちは。本日はRailsでseed-fuを使用して初期データ(シードデータ)を入れる方法です。 Railsはデフォルトで初期データを入れる機能(seeds.rbに初期データを書きrake db:seedをコマンド)がありますが、シードデータを入れるたびに毎回同じデータが登録さ…

Railsのselectフォームでcssが効かない

こんにちは。本日はRailsでselectフォームにcssクラスを適用させる方法です。 selectフォームにclassを反映するにはちょっとしたTipsが必要です。 結構つまずいている人が多いので解決策を共有したいと思います。 ==== 前提 selectフォームにcssを書いてみる…

Ruby on Railsで検索ボタンにアイコンを埋め込む

こんにちは。本日はRailsで検索部分のsubmitボタンのところにアイコン(虫眼鏡)を表示する方法です。 ==== はじめに 普通の検索フォーム 虫眼鏡アイコンを使う はじめに 今回はbootstrapを使用するので、導入していない人は過去記事からbootstrapを導入してお…

Railsでカラム名を変更する方法

こんにちは。本日はRailsでカラム名を変更する方法です。 Railsで開発しているとタイプミスなどでカラム名を変更したくなる場合があると思います。 Railsではコマンドで簡単に変更ができるので一緒にみていきましょう。 ==== はじめに migrationファイルを生…

Railsでユーザー側のメールクライアントを自動で立ち上げる

こんにちは。本日はRailsアプリでメールクライアントを自動で起動する方法です。 Rails側でメールを送受信するにはActionMailerが使えますが、mail_toという便利なメソッドも用意されています。 これを使えばユーザー側のメールクライアントが自動で立ち上が…

Railsを本番環境でデプロイしたら「Devise.secret_key was not set」というエラーが発生

ちょっと遅いですがあけましておめでとうございます。 2017年もマイペースにブログ更新していくのでよろしくお願いいたします。 今年一発目はDeviseの本番環境における使い方です。 secret_keyの部分が開発環境だとエラーがなく、本番環境だとエラーがでたの…

RailsにURLを貼って別サイトに飛ぶ

こんにちは。本日はRailsでURLを貼るときにハマったことについてです。 Railsでサイトから別のサイト(公式サイトなど)に飛ぶみたいなのを実装したいなと思っていたのですが、ちょっと手こずりました。。 誰かの役に立てればと思い共有したいと思います。 ===…

Railsアプリをデプロイするときにjavascript runtimeが見つからないエラーを解決する

こんにちは。本日はcapistranoでデプロイした時にjavascript runtimeのエラーが発生した場合の解決方法についてです。 ==== エラーメッセージ 解決策 therubyracerの場合 node.jsの場合 エラーメッセージ capistranoとかを使ってRailsアプリをデプロイすると…

ローカル開発環境で複数バージョンのRuby on Railsを共存させる

こんにちは。本日はローカル開発環境で複数バージョンのRails(例えばRails4系とRails5系)を共存させる方法です。 新しいRailsのバージョン(ここではRails5系)をインストールして、既存のRailsアプリ(ここではRails4系)を開くとGemやRuby・Railsその他諸々の…

Rails5でdeviseのStrong Parametersがエラーになる

こんにちは。本日はRails5で使用しているdeviseで発生したストロング・パラメーターのエラーの解決策についてです。 ==== deviseでエラーが発生 解決策 deviseでエラーが発生 Rails5でも従来通りにdeviseのStrong Parametersを設定していました。 # applicat…

Ruby on Railsで古着屋さんの情報サイトをつくってみた

こんにちは。本日は自分がつくってみたWebサービスを紹介していこうと思います。 今回はRuby on Railsで簡単な情報サイトみたいなものをつくってみたので、それらの概要などを説明していきます。 ==== つくったもの つくった背景 使用したもの フロント サー…

RailsアプリにGoogle Analyticsを導入する方法

こんにちは。本日はRailsでつくったアプリにグーグル・アナリティクスを埋め込む方法についてです。 導入するには設定が大変なのかなと思っていましたが、すごくあっさりと導入できたのでまとめておきます。 ==== トラッキングIDを発行する google-analytics…

MacでRuby on Railsの開発環境を構築する

こんにちは。本日はRuby on Railsの開発環境の構築についてです。 今はCloud9のようなクラウドで開発できる便利なツールがありますが、やはり自分のパソコンに開発環境をつくりたいですよね? ちょっと長いですが、Rails初心者の最大の壁である開発環境の構…

Railsのlink_toメソッドの使い方

こんにちは。本日はRailsでリンク化するために使われるlink_toメソッドの使い方についてです。 基本的な使い方はもちろん、ちょっとした応用テクニックも紹介したいと思います。 ==== バージョン 文字列 methodオプション・dataオプション unless_current 画…

deviseのメッセージを日本語化する方法

こんにちは。本日はdeviseで表示されるメッセージを国際化して日本語に対応させる方法です。 deviseはデフォルトだともちろん英語対応のみなので、こちらで日本語ファイルに対応させなければなりません。 しかしながら、幸いな事に親切な人々がdeviseの日本…