2016-07-01から1ヶ月間の記事一覧
Railsでアプリケーション開発をしていると、深淵なる理由で生のSQLにテーブル名やカラム名を動的に埋め込みたいケースが出てくる。 その場合安全だと分かっていてもサニタイズしないでSQLに文字列を埋め込むのは気が引ける。 そういう場合は、 ActiveRecord:…
本番環境でrake db:migrateを実行する場合、はたしてどのmigrationが実行されるのか確認したくなる場合がある。 その場合、rake db:migrate:statusを実行すると未実行のmigrationが表示されて便利だ。 たとえば、以下のような場合downとなっているのが未実行…
RSpecで既存のとあるメソッドが呼びだされたら特定の値を返したい場合、 allow(model).to receive(:foo).and_return(14) みたいにant_returnすればよい。これは有名。 しかし深淵なる理由でメソッドを上書きたい場合がでてくる。テスト中に特定の値を返すの…
trimしたいという欲求はアプリケーションを作る上で必ず出てくる。 そしてすぐにString#stripではダメだと気付く。全角スペースが削除されないからだ。 で、独自の正規表現を書いたりするんだけど、ActiveSupport内に便利な定数があるのでそれを使うと楽。 s…
大規模なRailsアプリケーションだったり、旧来のシステムをRailsに置き換えたりしてると、どうしても複数DBを扱いたくなってくる。 その場合は例えば、以下のようなlib/tasks/database_foo.rakeを作成します。 namespace :foo do desc 'Configure the variab…
mail gem使って、multipartメールでかつファイルが添付されたメールを送信したら、 Content-Type: multipart/mixedではなくContent-Type: multipart/alternativeになってしまい、 Thunderbirdでは添付ファイルが認識されず、MacのメーラーではHTML本文が表示…
mail gemを使っていて Non US-ASCII detected and no charset defined. Defaulting to UTF-8, set your own if this is incorrect. の様な警告が出る場合は、 mail.text_part do body 'あああ' content_type 'text/plain; charset=UTF-8' end mail.html_part…