Rails つまみぐい

Rails つまみぐい

Ruby on Rails 初学者による行き当たりばったりなメモ

send_dataでファイルを書き出すときの日本語ファイル名の文字化け対策


ファイルをダウンロードさせるために、send_dataで日本語のファイル名を指定してデータをエクスポートした場合

file_name = "日本語ファイル名.csv"
send_data(data, :type => 'text/csv', :filename => file_name)

InternetExplorerからダウンロードしようとするとファイル名が文字化けしてしまいます。その対策です。

続きを読む

favicon.ico を表示させるには


faviconRailsで表示させる方法です。faviconは、ブラウザのURLの脇っちょやブックマークしたときに表示される小さなアイコンです。
画像ファイルの形式としては .png や .gif もいけるブラウザもあるようですが、今のところは .ico にしておくのが無難のようですね。


favicon.icoを設定する

favicon.icoファイルを用意したら、app/assets/images/フォルダに置きましょう。

Viewのファイル(app/views/layouts/application.html.erbなど)の<head>内に以下のタグを書きます。

<%= favicon_link_tag '/assets/favicon.ico' %>


出力のHTMLのレンダリング結果はこんな感じになります。

<link href="/assets/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" />

アセットパイプライン (Asset Pipeline) を無効化する


Rails 3.1 で導入されたアセットパイプラインですが、恥ずかしながらいまだに挙動が良く分かりません。導入のメリットはなんとなく分かるんですがね… しょうがないので、理解できるまではとりあえず使わない方向で!(^_^b


アセットパイプラインの無効化

既存のRailsアプリの場合

既存のRailsアプリケーションでアセットパイプラインを使わない場合は config/application.rb の中で

config.assets.enabled = false

とすれば無効にできます。

新規作成のRailsアプリの場合

また、新しくアプリケーションを作成する時であれば —skip-sprockets オプションで無効にできます。

$ rails new <appname> --skip-sprockets