いつ書いたのか忘れたけど、下書きに書いてあったので公開 次のように、同じモデルに対してdependent: :destroyを設定してしまうと、もとのモデルを削除したときに二重にDELETEが発行されてしまう class User < ApplicationRecord has_one :latest_post, -> …
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 Awesomeのバージョンが5になって、有料版と無料版の二パターンになった。 4.7.0だと675アイコン 5.0.6(無料版)だと929アイコン 5.0.6(有料版)だと2316アイコン(無料版のアイコン含む) Font Awesomeお世話になっているし、アイコン多いほうが嬉しいので…
prmdで生成されるドキュメントは、Response Exampleが自動的に生成されて便利。 しかし、何かを作成するときや何かを削除するときなど、レスポンスボディがなくても問題ないことを表すのが面倒。 prmd/link.md.erb at 928d9cb1c0fa1163bab5f3cb43c81eed4a147…
Railsのきれいなコードについて議論する勉強会の話の続き。 とりあえずお題を集めてみようと思い、GitHub上にclean-rails-jaというorganizationを作りました*1。下記のIssueで議論のお題になりそうな案を募集しています。 「こういうとき、いつもどうしたら…
Railsアプリで「こういう時、どう実装するのが綺麗なのか?」みたいな現実感ある事例を各自が持ち寄って、それに対する意見を出す場というか、そんなの。nested_attributes_for、bulk_insert、複雑なview、非同期処理をどこに書くの?的な。— 神速 (@sinsoku…
(追記)ちょっと自信なくなってきた(スタンドアロン版だとちょっと違うのでは?という気がしてきた)ので今度時間のあるときに調べます Rails Guidesを読むと、Action Cableはセッション使えないと書いてあるのだけど、よくよく考えるとAction Cable はRailsの…
webpacker3は、「2から導入されたテスト環境でのlazy compileが開発環境にも入り、webpack-dev-serverの起動が必須ではなくなった」「デフォルト設定類がnpmのパッケージ側に寄せられた」くらいの認識だったのだけど、コード見るとどうやらそれ以外の変更も…
前提 Google Chrome 61.0.3163.100 chromedriver 2.3.1 Docker 17.03.1-ce docker-compose 1.11.2 注意点 dockerがデフォルトで利用しているseccompの設定だとheadless chromeが動かない seccompを変更することはできる dockerコマンドのオプションでseccomp…
だいたい次のような感じで行けるはず(実際は試行錯誤したのでこの通りにはやっていない)。設定ファイルやpackage.jsonに記載されるpackageなどがだいぶ減った。 bundle update webpacker config/webpack 配下を全部消す package.jsonを消す yarn.lockを消す …
モチベーション Redashを楽に安くホスティングしたい 以前はherokuでのホスティングをサポートしていたけど、現在はサポートなし しかしDockerでのホスティングをサポートしているようなので、DockerイメージをherokuにpushしてしまえばherokuでもRedash使え…
OneSignalを利用してブラウザPush通知機能を追加した際に、HTTPSでのみ使用する前提のJSライブラリを入れたのが原因で、開発環境でもHTTPSを利用する必要が出た。 前提として、 Mac OSX puma-dev webpacker を利用している。puma-devはHTTPSに対応していて、…
jquery-ujsからrails-ujsの移行、特に気をつけることないと思ってたけどajax:successなどのイベントのコールバックに渡される引数が違うな— willnet (@netwillnet) 2017年7月15日 jquery-ujs だと data, status, xhr rails-ujs だと event だけ レスポンスの…
ruby 1.8.6を使ってみようと思い、mac sierraでビルドしてみようとしましたがだいぶハマりました。 まずは公式のgccを使わないといけないと怒られる。指示の通り入れようとするともうそんなのないと言われる。こちらのブログを参考に無理やり入れてみようと…
株式会社ウィルネットを設立した - おもしろwebサービス開発日記の関連エントリ。作る過程のメモ書きです。 僕は普段の記帳にMFクラウド会計を使っていたので、まず関連サービスであるMFクラウド創業支援サービスを試しました。正確にはMFクラウド創業支援サ…
database_cleaner との互換性を保つために用意されたメソッドを使う。第一引数はなんでもいい config.after(:example) do DatabaseRewinder.clean_with(:_, except: %w(削除したいテーブル名)) end 追記 ↑のやり方だと、DatabaseCleanerと同じ挙動(削除した…
デプロイのデフォルトは10分 伸ばす場合は次のようにする bundle exec ... の次はインデント2つにしないとダメ deployment: production: branch: master commands: - bundle exec cap production deploy: timeout: 1500 Note that YAML is very strict about…
sendgrid はメール受信系の機能を提供していないと思っていたけど、どうやら出来るっぽい。 公式のドキュメント だと、lite プラン以外で使えます!って書いてあるので heroku の free なやつでは使えないかな?と思ったけど設定画面開けたので使えそう send…
cells で haml を使いたい場合は cells-haml という gem を使う必要があった しかし、cells-haml は haml の特定リビジョンに dependency が固定されていて辛い このリビジョンの haml だと brakeman がこける cells-hamlit を使うと上記の問題を解決出来る…
Xcode 7.2.1 です apple developer 上で新しい端末のUUIDを登録する provisioning file を更新する Xcode 7でProvisioning Profileを更新する方法 - らっこのじゆうちょう provisioning file を apple developer からダウンロードして渡す キーチェーンの証…
annotate_models のコード見ていたら、次のようなコードが書かれていて、実際の db:migrate のタスクを上書きしてるのかなあ…だとしたら実際の db:migrate の処理どこ行ったんだろうと思った。 namespace :db do [:migrate, :rollback].each do |cmd| task c…
miuchee を heroku に移行したメモです。 移行理由 @mkouhei さんのサーバ(さくら)を仮想マシン環境で使わせてもらっていた さくら環境要因で時折メンテが必要になっていた 現状の heroku なら無料で使えそうな状況である sendgrid は無料で毎日400通メール…
vendor/bundle を使わないこと。 検索に gem のコードが交じる gem に jruby用のコードがあると、java 系のプロジェクトとして判断されるようで普通の Rails アプリとして認識しない vendor/bundle を無視する設定にすればよいかと思いきや、gem を認識しな…
デバッガを使いたくて、IntelliJを試しています。 がどうもすんなりと移行できません…。 全部入りであるということに魅力を感じて、RubyMine でなく IntelliJ で試しています。ただそうするとプロジェクトがなぜか JRuby on Rails と判断されていろいろうま…
しばらく使ってみた結論。rebase を使用する人には向いてません…>< merge しか使わない人にはいいアプリケーションだと思います。 追記 あとコミットログリーダーとしては超使えると思います
vue.js は DOM の更新を非同期で行っている。 同期的にするには全体の設定でVue.config.async = false とする方法があるがこれは微妙。 もう一つの方法としては、Vue.nextTick(callback)を使用してDOMの更新が終わってからの処理をコールバックで記述する方…
active_decorator はよく使ってるけど draper は README 読んだだけの状態で比較しています。 active_decorator メリット 実装が比較的シンプル 使い方もシンプル 自動的に model を decorate してくれる デメリット decorator のメソッドを生やす条件が限ら…
rails-erd、便利なんだけど実行を忘れて古いままでほったらかしてることが多いので、rake db:migrate したら勝手に更新するようにしてみた。 Rake::Task['db:migrate'].enhance do Rake::Task[:erd].invoke end を lib/tasks/erd.rake などを作って書けばお…
Logentries と Papertrail の簡単な機能比較。heroku で利用する前提 両方でできること ログを閲覧する ログからのアラート通知 Logentries だけでできること ログを解析してグラフを作れる サーバのパフォーマンス監視 ユーザのアクセス解析 公式iOSアプリ…