Rubyで例外を捕捉するには、begin – resqueを使います。 begin 処理 resque => e puts e end 処理で例外が発生するとresqueが呼ばれます。例外の内容はeに格納されます。
Rails 1対多のモデルを作る
Railsで1対多のモデルを作るには、belongs_toとhas_manyを使います。 作者:1と記事:多の関係を作ってみます。 Step1. モデルの作成 作者モデルを作ります。has_many :複数形として、記事 […]
Ruby 処理時間を測定する
RubyやRailsで処理時間を測定するには、Benchmarkライブラリを使用します。 http://docs.ruby-lang.org/ja/2.1.0/class/Benchmark.html 使い方 bench […]
Ruby 戻り値の型を調べる
クラスを調べる RubyやRailsでメソッドの戻り値の型を調べるにはObjectクラスのclassメソッドを使います。 Arrayクラスのインスタンスに対して調べてみます。Arrayと返ってきます。 array = A […]
Rails developmentモードなのにコードの変更が反映されない
Rails5 (developmentモード) + Vagrant の環境で、コントローラの内容を変えたのにビューに反映されない場合のメモ。 結論 Vagrantのsynced_folderをrsyncモードで動かしたら […]
Rails generate時にtestを生成しない
Railsでgenerateを使用するとtest用のファイルが自動生成されますが、これを抑制する方法です。 config/application.rbを開き、次のようにtest_frameworkをfalseにします。 […]
Rails JSONを展開する
RailsアプリケーションでJSON形式のデータを展開には、JSON.parseを使います。 例 APIで取得したJSONを展開します。 require ‘open-uri’ url = ‘http://JSON形式を返 […]
Nginx server_nameを複数指定する
Nginxでserver_nameを複数指定するには空白で区切って指定します。 nginx.conf server { server_name example.com abc.example.com }
Rails JSON形式でデータを返す
RailsでURLへアクセスがあったときに、JSON形式でデータを返すにはrender :jsonを使います。 例 humanハッシュをJSON形式で返します。 class TopController < Appl […]
Rails サーバー内のローカルなRailsサービスと通信する
サーバー内に外部に公開していないRailsサービスがあり、そのデータを別のRailsサービスから取得したい場合は、ローカル・ループバック・アドレス経由でアクセスできます。 構成 ローカルなRailsサービス ローカル・ル […]
Ruby 正規表現を使う
Rubyで正規表現を使う方法です。 正規表現(regular expression)は、文字列のパターンを表現する仕組みです。 Step1. 正規表現の表現 /で囲まれた部分、もしくは%r{}の内側が正規表現となります。 […]
Rails libフォルダを自動読み込みパスに追加する
Railsでlibフォルダを自動読み込みパス(autoload_paths)に設定する方法です。 config/application.rbを開き、次の1文を追加します。 class Application < R […]
Rails カラムにユニークを追加する
Railsでカラムにユニーク属性を追加するには、add_indexでユニークオプションを指定します。 例 tagsテーブルのnameカラムにユニーク属性を付けてみます。 マイグレーションファイルにて次のようにします。 c […]
Rails 多対多のモデルを作る
Railsで多対多のモデルを作るには、has_many :through関連づけを使います。 ここでは先生モデル(Teacher)と生徒モデル(Student)を第3のモデルの授業モデル(Lesson)を介して多対多で関 […]
Rails モデルオブジェクト生成時のidがnilになる
Railsでモデル.newして、オブジェクトを生成したときは、idがnilになっている。 obj = Article.new => #<Article id: nil, title: nil, created […]
Rails モデルをカラムで検索する
Railsにてモデルをカラムで検索するには、whereメソッドかfind_by_columメソッドを使います。 whereの使い方 whereメソッドは、検索結果を全件返します。 リファレンス:検索条件を指定して取得(w […]