Rails で holder.js を利用すると

Rails で画像のプレースホルダを表示したく、Holder.jsRails 用に gem 化した holder_rails を使わせていただいた。

holder_tag '200x300', 'Lorem ipsum'
# => <img data-src="holder.js/200x300?text=Lorem ipsum" src="" />

で簡単にプレースホルダが表示される(2行目は生成されるHTML)。便利。

ところが、Firefoxでは画像のリンク切れアイコンが表示される。

しばらく調べると、FFでは src プロパティがないとリンク切れアイコンが表示される様子。

オリジナルの Holder.js は src に URLを設定するようになっているが、holder_rails では data-src にURLを設定して、src はブランクに設定するようになっている。

「FF用にsrcなしで出力してほしい」という pull request も出ていたが、「それは Holder.js 側で対応すべき」と却下されていた。

結論としては、

tag :img, data: {src: "holder.js/280x210?text=sample&theme=gray"}

と書けばOK。でした。