Rails
Railsのモデルにちょびちょびと処理を追加していると、いつの間にかサイズが膨れ上がってしまっていたりする。 Railsでロジックを書く場所として与えられている場所はコントローラかモデルなので、「コントローラは単純にしなさい」という教えに従うと、必然…
Railsでアプリを作っていて、モデルの更新系メソッドをどう定義するのが良いのだろうかと試行錯誤していたのだが、もうこれでいいんじゃないかな、というパターンが固まってきたのでメモっておく。 処理とエラーチェックの分離 メソッド定義内ではエラーチェ…
呼ばれるたびに前回返した値から+1したものを返すカウンターのクラスを書いたものの、出番がなくなったが、今後同じようなものを書きそうなのでメモ。 動作はMySQLで試した。 テーブルの定義 class CreateCounters < ActiveRecord::Migration def change cre…
Single Table Inheritanceで親子関係にある二つのクラスHoge, Fugaがあるとする。 class Hoge < ActiveRecord::Base end class Fuga < Hoge end このときHogeクラスのオブジェクトaがあったとしてそれをFugaクラスに変換したいとする。 そもそもそういう状況…
Railsアプリからさくらのメールボックス経由でメールを送信しようとするとエラーメッセージが返された。 メールを送るにはまず受信しろ、という内容のものだった。 POP before SMTP これはさくらのサーバがPOP before SMTPという認証方式を採っているためで…
Railsで複数人開発をしていると、他の人のコミットにマイグレーションファイルが含まれていることがある。 そのマイグレーションのバージョン(タイムスタンプ)が手元にあるマイグレーションのうち最新であれば、ただrake db:migrateを実行すればデータベー…
要するに、metaタグにあるauthenticity_tokenをPOST時のパラメータで渡す必要がある。HTML中のボタンを押すとsendHoge()関数が実行されるとする。 <div ng-controller="HogeCtrl"> <button ng-click="sendHoge()">送る</botton> </div> このときsendHoge()は次のようになる。 HogeCtrl = function($scope, $http) { $scope.sendHoge = fun…