Ruby on Rails

【Rails】論理削除を実装するGemのparanoiaについて

Rails で論理削除を簡単に実装できる paranoia の使用方法です。論理削除自体の是非には触れません。 paranoiaのインストール Gemfileに以下を追加してbundle installを実行してください。 gem 'paranoia' paranoiaの使用方法 論理削除を実装したいモデルにd…

【Rails】HTMLテンプレートエンジンHamlの導入方法

HTMLテンプレートエンジンの haml-rails を Rails に導入する方法です。 Gemfile に以下を追加してbundle installを実行します。 gem 'haml-rails' ERB 形式のapplication.html.erbを Haml に変換します。変換が正常にされたら ERB のファイルを削除して下さ…

【Rails】認証機能を実装するdeviseの導入方法

Webアプリケーションにおいて簡単にログイン認証などを実装できる Devise の導入方法です。最初に必要そうな部分をまとめてます。 Deviseの導入 実行環境は以下の通りです。 Rails 5.1.1 Ruby 2.4.1 Gemfile に以下を追加してbundle installを実行してくださ…

【Rails】therubyracerとlibv8がインストールできない問題

よくある話題ですが情報が散らばってるので対応策をまとめておきます。

【Rails】Resqueを使用した非同期処理の実行方法

Resque を使用した非同期処理についてまとめました。基本は Rails での使用を想定しています。

【Rails】foremanで復数プロセス管理

復数のプロセスを管理することのできる Procfile ベースのアプリケーションマネージャである foreman の使い方についてです。 foremanの使用方法 Gemfile にgem 'foreman'を追加して bundle install を実行してください。アプリケーションルートに各プロセス…

Capistranoの使用方法について

Ruby 製のデプロイツールである Capistrano の使用方法です。Rails 以外でも使用できます。

【Rails】スキーマ情報管理(schema.rbとstructure.sql)

schema.rb と structure.sql を使用したスキーマ情報管理について。

【RSpec】Deviseの認証を使ったControllerのテスト

テスト方法は GitHub の Wiki を参考にしていますが内容は少し変更しています。

【Rails】FactoryGirlの導入方法

Rails で FactoryGirl を使用するための導入方法です。

【Rails】ViewHelperのselectボックスのグループ化について

View Helper でセレクトボックスに optgroup タグを使用したグループ化をする例です。

【Rails】ViewHelperのselectボックス生成方法について

View Helper を使用した select ボックスの生成方法です。

【Rails】セレクトボックスの内容をAjaxを使用して動的に変更する

Ajax を使用してセレクトボックスの内容を動的に書き換える処理を実際に試した手順でまとめておきます。

【Rails】RSpecの初期セットアップ

RSpec の初期セットアップについてまとめました。

【Rails】モデルのリレーションシップ

モデルのリレーションについてです。

【Rails】ルート定義について(routes.rb)

Rails のルート定義についてです。

【Rails】環境の指定と作成方法について(Rails.env)

Rails で各種環境の指定方法と作成方法についてです。

【Rails】カスタムバリデータの使い方

Rails のバリデーションは標準でも様々な検証が可能ですが、バリデータクラスを自作することで責務も分割されテストが容易になります。

IntelliJ IDEAでRuby on Railsプロジェクト開発

IntelliJ IDEA で Ruby on Rails の開発をする方法です。RubyMine のライセンスを買わなくてもプラグインを入れるだけで可能です。

【Mac】Ruby on Railsの環境構築とbundlerについて

Ruby on Railsの環境構築について調べるとbundlerでRuby環境を汚さないようにするという記事をよくみますが、やり方がいまいち統一されてなかったりしたので、自分なりに試してみて最適解を探してみました。今の所これが一番シンプルで簡単なんじゃないかと…