Rails
Railsでバリデーションを書くケースといえばビジネスロジックで場所はModel(ActiveRecord)が多いのではないかと思います。 これは、たとえばRails Tutorialで扱うような、フォームで扱うModelが一つかつ単純な場合には特に迷う必要はありません。Railsのフォ…
github.com 表題の通り、RailsのModelのvalidatesメソッドを見て単純なバリデーションテストを生成するgemを書きました。 書いた理由 RailsのModelの基本的なバリデーションのテストは時々、Rails Tutorialやドキュメントのコピペと何が違うのだろう、これは…
OmniAuth系のライブラリでTwitterやFacebookなどのサービスと連携しようとしたところ、401 Authorization Required invalid_credentialsでひたすら失敗してつらかったです。 特にTwitterのAPIには、401でないエラーを401で返すという話もあり*1、結局関連す…
migrationで厄介な対応が必要な場合、SchemaMigrationをいじって整合性を取る必要性がある、と先輩が言っていたのを聞いて、ふむふむと追いかけてみました。 なお、この記事に出てくるコードのRailsのバージョンは、5.0.0.alphaです。 まとめ バージョン指定…
たまたま仕事で気になったので、ActiveRecord::Baseのcreateとsaveの違いについて簡単に調べました。 まとめ save(!)メソッドはcreate(!)メソッドで利用されている create(!)メソッドはnewメソッドとsave(!)メソッドを行うメソッド save(!)メソッドを利用し…
論理削除カジュアルに触発されたので、社会人になってここ半年くらい、現場で見たデータベースについて考えた事について書いてみます。 内容 とりあえず外部キーにはインデックスを貼っておく ユニーク制約はデータベースレベルでやらないとしばしば崩れる …
こちらの記事*1の続きです。 なんか、いわゆるfat controllerの具体的事例集、みたいなかんじになってしまって途中で書く気が失せてきたのですが、ふと思い出して自分の公開鍵のメモをいま見直したら予想以上に良かったので、一応残しときます。 内容 アクシ…
こちらの記事*1の続きです。 長くなったので、アクションのコードがやたらと横に長いとき、について書きます。 残りは、パラメータの受け渡され方がよくわからないとき だー。 内容 アクションのコードがやたらと横に長いとき 条件分岐がひたすらネストして…
今週はなんだか見た目はそんなでもなかったのにやたらと読みにくいコントローラのアクションに振り回されていました。 せっかくなので、今回の事だけではないんですが、これまでに思った事をまとめておこうと思います。 長くなったので、アクションのコード…
なんか調べてたら、Railsのurlヘルパーでhttpsの指定ができる、という話を見かけて、よく分からなかったので調べてみました。 前もって把握していた情報は *_urlヘルパは、完全URIを返す *_pathヘルパは、パス以下を返す だったので、これじゃなんともいえな…