PIYO - Tech & Life -

Rails

rails generate migrationにdecimalのオプションを渡す

小ネタです。 decimalのカラムを追加するときに add_column :items, :new_column, :decimal, precision: 3, scale: 2 とかってやると思うんですけど、これをgeneratorのコマンドに渡せないかな?と思って調べました。 コマンドに渡すっていうのはこういうのです。 (以下、NewColumnとかnew_columnは適当に読み替えてく …

Blazer gemでRailsにSQL集計ダッシュボードをつける

◯◯なユーザーのリストが欲しい、といった類の要望をお客さんにもらうことがあります。SQLでデータを引っ張ってくればリストを作れるものの、本番DBに繋いでSQL投げて出てきたものを渡す、ってことを考えると大変です。いずれ見たい情報が増えることを考えるとWeb側にそれ用の画面を用意するのは現実的ではありません。

Rails周りで最近知ったこと 2018/04版

String#squish ActiveSupportで定義されているらしい。 def squish dup.squish! end def squish! gsub!(/[[:space:]]+/, " ") strip! self end halt_callback_chains_on_return_false がDeprecatedになった件でプルリク見てたら書いてあってみつ …

Railsのroutes.rbでconstraintsを使う

ルーティングのマッチングの優先順位のせいか期待通りのコントローラーで処理できないことがあります。そんなときにconstraintsオプションでroutesのパラメータのフォーマットを制限できます。たまーに使います。

RailsのFeatureテスト環境をHeadless Chromeに変更した

Poltergeist detected another element ...に対応するために RailsのFeatureテスト環境をHeadless Chromeに置き換えました。 Capybara + PhantomJSのフィーチャテストでドロップダウンメニューがクリックできないので色々調べてみると、ドロップダウンメニューが画面外に描画されちえるらしいことが判明。

Rails5で自作したブログに移行しました

これまではてなブログに投稿していましたが、最近Rails5で自分用にブログサイトを作って移植しました。なんとなくはてなブログの記事投稿画面の動作がもっさりしていて気に入らなかったとか、たまたま新しいVPSを借りたとか、ドメイン変えてみたかったとかいくつかの複合的な理由があります。

Railsなどで無料から使えるエラー通知サービス Rollbar

Railsなりスマホなりでアプリケーション作ったらAirbrakeとかBugsnagとかのエラーハンドリング用のサービスを使って不具合を検知できるようにするよね。 この手のサービスはやはり有料のところが多くて、個人用のアプリケーションとしてはコスト的に使いにくい。無料で使えるものでerrbitというairbrakeクローンみたいなものもあるんだけれど、自分でホストするのはそれはそれで面倒なので敬遠 …