2018-01-01から1年間の記事一覧

mailcatcherとletter_opener_webの使い分け

letter_openerをよく使います。ローカルの開発環境でメールが送信されたらブラウザのタブが新しく開き、メールが送信されたことがすぐにわかる。べんり。 しかし、最近Docker環境で開発することが増えたので、自動でホストマシンのブラウザタブを開くことが…

ajaxでHTMLをリクエストするタイプの設計のときに、メタ情報もうまく受け取りたい

Railsアプリケーションを書くときに、turbolinksやstimulusなどを使い、なるべくサーバサイドはHTMLを返してjsをあまり書かずに楽をする、という方針でいくとします。このように割り切るとだいぶ楽なのですが、例えば次のようなケースで悩みます。 コメント…

macで/etc/hostsに定義を追加するときの注意点

開発用に、127.0.0.1に解決されるドメインを/etc/hostsに登録する、ということはそれなりにあると思います。 そのときに、次のように複数行に分けて書くとなぜか example.com へのDNS lookupがめちゃくちゃ遅くなります。自分の環境ではだいたい5秒ほどかか…

OmniAuthでログインを失敗したときのテストでエラーが出たときの対処法

OmniAuthを利用したログインのsystem specで、ログインに失敗した場合のテストが次のようなエラーになった。 1) ユーザがログインする ログインに失敗したとき "ログインに失敗しました"と表示されること Failure/Error: click_link 'Twitterでログイン' Omn…

Turbolinks5でPOSTするときはajax経由のほうが良いのかも

Turbolinks5になってから「フォームでバリデーションエラーになったあとその画面をリロードしたときの挙動がTurbolinksを利用していないときと異なる」という問題がある。 2年半くらい前からIssueが立っている Turbolinks doesn't recognize form re-submiss…

同一モデルへの関連に対するdependentオプション

いつ書いたのか忘れたけど、下書きに書いてあったので公開 次のように、同じモデルに対してdependent: :destroyを設定してしまうと、もとのモデルを削除したときに二重にDELETEが発行されてしまう class User < ApplicationRecord has_one :latest_post, -> …

capybaraでunicornを使うときの注意事項

capybaraで利用するテストサーバは変更可能 デフォルトだとwebrickだったはず? (追記)capybara3からpumaになっていた capybara/UPGRADING.md at master · teamcapybara/capybara Railsのsystem testだとpuma unicornをproductionで使っているのであれば、un…

るりま編集方法のメモ

プログラミング言語 Ruby リファレンスマニュアルでリンク切れが見つかったので、PRしようと思って調べたことのメモ。 内容はGitHubで管理されているrurema/doctree: Repository of Japanese Ruby reference manual 普通にPRだせばよいみたい wikiに古い記事…

Font Awesome5をRailsアプリケーションに導入した

Font Awesomeのバージョンが5になって、有料版と無料版の二パターンになった。 4.7.0だと675アイコン 5.0.6(無料版)だと929アイコン 5.0.6(有料版)だと2316アイコン(無料版のアイコン含む) Font Awesomeお世話になっているし、アイコン多いほうが嬉しいので…