読者です 読者をやめる 読者になる 読者になる

一から勉強させてください( ̄ω ̄;)

最下級エンジニアが日々の学びをアウトプットしていくだけのブログです。

Rails

Railsでパンくずリストを実装するためにbreadcrumbs_on_railsを使ってみた

最近、Railsアプリでパンくずリストをいい感じに実装するために、breadcrumbs_on_railsというGemを使用してみました。 すでにネット上に使ってみた的な記事はちらほら見受けられましたが、自分なりにどのように使ったかなどを書いておきたいと思います。 bre…

Grape + Rails4.2のAPI開発でエンドポイントとエンティティのテストについて考える

最近、Grape + Rails (v4.2.6)でRESTなAPIを開発する機会があったのですが、今回はその開発の中で悩んだ、「Grapeのエンドポイントとエンティティのテスト」について書きたいと思います。 前提としてGrapeののエンティティは grape-entity、テストフレームワ…

シーケンシャルスキャンとインデックススキャンを意識して生きていきたい

最近RailsでツラいクエリをRDBに投げまくって失敗してしまったのでメモ。 例えばusersテーブルがあって、一部のAwesomeなユーザーだけにawesomeがtrueで割り当てられている(基本false)とする。そしてawesomeカラムにはインデックスが貼られているとする。 …

Railsでfakerのバージョンを上げたらspecが壊滅したけど設定で乗り越えたメモ

最近、Railsプロジェクト内で使用しているfakerのバージョンを最新(v1.4.3)に上げたら、今まで通っていたspecが壊滅したので、その際のメモです。 状況把握 こちらの記事に記述されているものと全く同じ状況に陥ったと思われます。 プロジェクト内のlocaleは…

Rails4 + devise + paranoiaで論理削除を考慮したユーザーバリデーションを実現する

Railsでユーザー登録、認証機能を実装する際、deviseを使用することはわりと一般的かと思います。 またユーザーの論理削除を実現するためのgemとしてはparanoiaが有名かと思います。(Rails3時代によく使われていたacts_as_paranoidをよりシンプルにしたやつ…

PowとtunnelsでRailsのローカル開発環境にSSL導入

仕事でRailsアプリのローカル開発環境にSSL導入したのでメモ。 powの導入 powはRackアプリケーション用のサーバー。仮想的なドメイン名を割り当ててアクセスできるようにしてくれるぽい。 githubのreadmeをみて導入。 $ curl get.pow.cx | sh $ cd ~/.pow $ …

Railsのbefore_validationで文字列の先頭、末尾にある全角スペースを取り除く

Strip#stripを使うだけでは半角スペースとか改行文字しか取り除けないので、before_validation時に全角スペースを取り除く方法を考える。 ちなみにRubyは2.1.2、Railsは4.1.0を前提に書いてます。 auto_strip_attributesの導入 auto_strip_attributesというg…

Rails4.1プロジェクトにteaspoon入れたらエラー出たので調査した

Rails4.1のプロジェクトでJavaScriptのテストをするためにteaspoonを入れたらうまく動かなかったので調査。 Rails4.0で入れたときは問題なかったのに…ツラい。 準備 まずはGemfileに記述して group :development, :test do #ここにrspec関連とか書いてる。 #…