Rails 4.0 の STI を development モードで使うとサブクラスがロードされない問題

単一テーブル継承はたまに使いますが、使うたびに何かしら問題が起きる気がします。 class Animal < ActiveRecord::Base end class Dog < Animal end class Cat < Animal end これらのクラスを(実際は色々と問題があるので別ファイルに分けて)実装し Anima…

iOS8 系で強制終了したアプリ向けのプッシュ通知を受け取る方法

iOS

世のアプリケーションでは表題のような動作をしているものが色々と存在します。 しかし、自社での開発中に上の問題が発生したのでメモとして残しておきます。 構成 https://developers.google.com/cloud-messaging/ios/start上記サイトのサンプルを元に動か…

Rails 5.0 beta-2 で Puma のコンフィグを適用させたい

Rails 4.2 以降は rails server コマンドで起動するサーバが localhost で立ち上がるため LAN 内の別マシンからアクセスさせたい場合は bundle exec rails s -b 0.0.0.0のようにコンフィグを設定する必要がありました。Rails 5.0 からはデフォルトのサーバが…

Android の cookie 管理と CookieManager と flush()

Android アプリケーションで cookie を管理する際、デフォルトの動作はアプリとは非同期で揮発性のメモリに展開された値を最大数分(?)程度の遅れで不揮発な領域に書き込みに行くようです。 この辺り、過去のバージョンの情報などが錯綜していて分かりにく…

2016

コングラッチュレーション ,―==7 Congratulation! コングラッチュレーション |く ___ _> Congratulation! fll`ーU+' `''、 ー=| おめでとう・・・・・・・・! _,,..-´:|ヽー-;ー..,,_ . ,−=-, ,,..-‘≡≡:| ><´|≡::|ヽ おめでとう・・・・・・・・…

Sinatra を使う場合のセキュリティ設定について

Apache のヘッダーに色々と書いたら Sinatra で書いたアプリケーションが 404 を返したり不穏な挙動を起こすようになってしまった!ドキュメントを読め!というお話。 ことの発端 社内で使う小さな問い合わせフォームを Sinatra でミニマムに実装したのです…

DROP DATABASE が通らない

理由は分かりませんが、何かのタイミングで DROP DATABASE hoge;が通らなくなってしまい、次のようなエラーメッセージが表示されるようになりました。 Error dropping database (can't rmdir './hoge', errno: 66)困るので、データディレクトリを直接削除し…

Yosemite 環境に Homebrew から rbenv を用いる際にセキュリティソフトが悪さをしているかもしれない

ふわっとしたタイトルで申し訳ないのですが、なにぶんマシンそのものがクラッシュしてしまうため、あまり検証もできていません。実際に起こった事象の報告と、一応の解決策のみ記載しておきます。 何が起こるのか 実際に問題が起こった環境の場合 Kaspersky …

コミックマーケット88のお知らせ

この日記を書いている人のサークルが今回もコミケに参加します。 基本情報 3日目西ホールよ13a / ProjectHL2 クロスフェード ニコニコの方が何かと便利そうなので、こちらで。 気になった方は是非お気軽にお越し下さい。

Rails のカスタム例外補足時に順番に注意が必要な件

次のようなコードを Rails 4.0 系の controller に記述すると rescue_from ActiveRecord::RecordNotFound, with: :render_404 rescue_from ActionController::RoutingError, with: :render_404 rescue_from Exception, with: :render_500 内部では ActiveRec…

redirect_to とフラグメント修飾子と実体参照

前振り フラグメント修飾子とは、今回の話の範囲では http://api.rubyonrails.org/classes/ActionDispatch/Http/URL.html#method-c-url_for というアドレスに含まれる「#」以降、つまり「method-c-url_for」の部分になります。そして Safari を使ってリダイ…

RMagick で PDF を jpg や png に変換する

RMagick が内部で使用している ImageMagick には PDF を jpg などの画像に変換する機能があります。 convert test.pdf test.jpg一番簡単な使い方は上の通り。手元の環境では特に jpg が残念な画質になりますが、そのあたりはオプションで(ある程度)補完が…

Windows Server 2012 R2 で PowerShell 製のバッチを使う

今回の目標 Windows のジョブに登録したバッチ処理で「特定のディレクトリから最終更新日時が一週間以上前のファイルを削除する」という目的を達成します。 なお、この処理はやむにやまれぬ事情で作成に至ったものであり、私は PowerShell の文法を順序立て…

2015

コングラッチュレーション ,―==7 Congratulation! コングラッチュレーション |く ___ _> Congratulation! fll`ーU+' `''、 ー=| おめでとう・・・・・・・・! _,,..-´:|ヽー-;ー..,,_ . ,−=-, ,,..-‘≡≡:| ><´|≡::|ヽ おめでとう・・・・・・・・…

コミックマーケット87のお知らせ

おしらせ 中の人が主催しているサークル ProjectHL2 にて2014年末に開催されるコミックマーケットで新作を頒布します。 配置は3日目東、ル02bになります。 全5曲入り、「巡音ルカ」によるボーカル曲集で頒布価格は500円を予定しております。 クロスフェード …

rbenv の更新をした後 rbenv install がエラーになった話と gcc の更新

大きな開発が一段落したので環境の更新をしておこう、と思い年単位ぶりくらいに brew update brew upgrade rbenv ruby-buildを叩き、せっかくだから記事執筆時にリリースされたばかりの最新版 Ruby 2.1.5 をインストールしようと rbenv install 2.1.5を実行…

wicked_pdf で Rails が送信するメールに PDF を添付する

表題の件ですが、案外はまってしまったので備忘録。 前提 以下の環境で確認 Rails 4.1.6 Ruby 2.0.0-p247 メーラーの準備 元々のコードがこうだったとして class NotifyMailer < ActionMailer::Base def customer(mail_object, document) @mail_object = mai…

Rails の database.yml で collation を指定する

定期的に引っかかるので備忘録として。検証には Rails 4.0.8 及び Mysql 5.6.10 を使用しました。Rails から MySQL を使う際、何も考えずにデフォルトのまま設定していくと、大体の場合小文字 a と大文字 A が区別されないデータベースが作成されます。具体…

wicked_pdf を Rails アプリケーションで使うまで

html から簡単に PDF が作れる便利なプラグインですが、割と面倒な行程が必要だったのでメモ。Rails 4.1 で確認しました。 インストール Gemfile で以下のように記述します。 gem 'wkhtmltopdf-binary' gem 'wicked_pdf' が、環境によってはこれでは動作しま…

jQuery.ajax() で読んで来るデータをキャッシュさせない

次のコードは正しく動作しますが、サーバやブラウザの設定によってはデータを更新してもキャッシュが読まれてしまいます。 $.ajax({ type: 'GET', dataType: 'json', url: 'hoge.json', success: function(data) { concole.log(data); }); これを避けるには …

ActiveModel::Model で簡単に ActiveModel の機能を利用する

例えばユーザからの問い合わせを受け付けるメールフォームなど、特にデータベースに値を保存したりする必要はないが ActiveModel の機能は使いたいケースで Rails 4 では ActiveModel::Model をインクルードする事で簡単に処理できます。 class MailForm inc…

個人的ディスガイア4R攻略メモ

自分用に攻略の手順メモ チート屋を解放する 第1章あたりで出来たはずなのでさくっと解放。今回、これのおかげで色々な手間が省けて非常にストレスなく稼げるようになっている。 レベルを稼ぎつつ店レベルを上げ、邪シンボルを集める チート屋で敵レベルを調…

Rails4 で 404 系のエラーページを制御する

Rails 4 では 404 系のエラー発生時にデフォルトで public/404.html を表示してくれるのですが、ヘッダーやフッターはエラーページでもそのまま利用したいケースなどでは自分で表示を制御する必要があります。 以下でその方法について記述します。 routes.rb…

画像のサムネイル化を jQuery UI で行う

一定以上のサイズの画像が自動的に最大幅以内に収まるように jQuery UI で制御します。 CSS の準備 まずはスタイルシートにサムネイル用のクラスを記述します。ここでは最大幅は 640 px とし、分かりやすいよう枠の表示とマウスカーソルの変更も行いました。…

2014

コングラッチュレーション ,―==7 Congratulation! コングラッチュレーション |く ___ _> Congratulation! fll`ーU+' `''、 ー=| おめでとう・・・・・・・・! _,,..-´:|ヽー-;ー..,,_ . ,−=-, ,,..-‘≡≡:| ><´|≡::|ヽ おめでとう・・・・・・・・…

jQuery UI を Rails 4 のプロジェクトに導入する

表題の件について datepicker の導入を例に説明します。 まずは Gemfile を更新。 gem 'jauery-rails' この下に gem 'jauery-ui-rails' を追加します。終わったら bundle install をお忘れなく。 次に app/assets/javascripts/application.js を更新。 // re…

textarea のカーソル位置にテキストを挿入する

jQuery 1.9 を用いて textarea の現在のカーソル位置にテキストを挿入します。動作は IE 6 〜 9, Chrome, FireFox の最新版で確認。 function insertAtCaret(target, str) { var obj = $(target); obj.focus(); if(navigator.userAgent.match(/MSIE/)) { var…

acts_as_taggable_on で jQuery を使った入力補助を行う

acts_as_taggable_on は便利なプラグインですが、デフォルトでは「tag1,tag2,tag3」のようにタグを半角カンマで区切った入力を行うため、一般のユーザ向けとは言えません。そこで jQuery を使って入力補助を行います。Rails 4.0 + Ruby 2.0 で検証しました。…

Rails 4 + Ruby 2.0 で画面遷移無しのファイルアップロード

表題のとおりのサンプルプロジェクトを作成します。まずはプロジェクトを新規作成します。 rails new sample_uploadscaffold でアップロード機能を作成、この辺はいつもどおり。 bundle exec rails g scaffold attachments title:string path:text何かと不便…

rubyzip のバージョン更新でエラーが起こる

表題の件ですが Rails アプリの Gemfile で次のような指定をしていたところ、更新時にエラーが発生しました。 gem 'rubyzip', :require => 'zip/zip' エラーの原因は rubyzip gem のバージョンが 1.0.0 になった際にrequire 以降を記述する必要が無くなった…