Rails つまみぐい

Rails つまみぐい

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

仮想サーバで bin/rails コマンドとかがクッソ遅い件

Ruby on Rails v4.2.0Vagrant+VirtualBox を使って構築した仮想サーバ (CentOS 6.5) で、/vagrant 共有ディレクトリでを rails プロジェクトのルートディレクトリにしていて、 $ bin/rails sとか $ bin/rake aboutとかコマンドを実行すると、すごい遅い! b…

仮想サーバ上の WEBrick にローカルマシンから接続できない?!

Ruby on Rails v4.2.0しばらく Rails と離れていたのですが、久々に戻って参りました。気がつけば Rails5 がもう目の前!時が経つのは早いものです。世の中の流れから置いていかれている感が半端ないので、また一から勉強っつぅ事で、つまづいたり調べたりし…

プルダウンメニュー(select_tag)の中身をデータベースに用意する

Ruby on Rails v3.2.11 プルダウンメニュー(select_tag)の選択肢を決め打ちでやらず、マスタとしてDB内のテーブルに用意する場合のやり方です。collection_select を使います。 ここでは例として、都道府県名を格納するために prefecture テーブルと Prefe…

+5分で更にわかるアセットパイプライン(Assets Pipeline)

Ruby on Rails v3.2.11前回の記事からの続きです。 プリコンパイルの対象ファイル assets/ ディレクトリ下の全てのファイルがプリコンパイルされるわけではありません。javascript、stylesheet ファイルは "マニフェストファイル" で指定されたファイルだけ…

5分でわかる!? アセットパイプライン(Assets Pipeline)

Ruby on Rails v3.2.11 アセットパイプラインとは Rails のアセットパイプライン(Assets Pipeline)は JavaScript や CSS、画像ファイルといった HTML に付随する細々としたファイル達(アセットファイル)を連結したり圧縮することで効率的にアクセスでき…

axlsx (gem) で xlsx ファイルをダウンロード

Ruby on Rails v3.2.11axlsx v1.3.4 いい加減そろそろ Excel2003 形式 (.xls) で出力し続ける理由がなくなってきてしまったので(^_^;、ようやく重い腰をあげて Excel2007 形式 (.xlsx) で出力に移行することにしました。使えそうなライブラリはないかと gem …

modelクラスの中でのselfの使い方

Ruby on Rails v3.2.11 modelクラスの中でのselfの使い方です。railsのルールというよりはrubyのルールですが、modelの中でselfを使うときに時々不安になるのでメモっておきます。 クラスメソッドとインスタンスメソッド modelクラスの中でメソッドを定義す…

layoutを使い分ける

Ruby on Rails v3.2.11 HTMLで表示をする場合、デフォルトのlayoutとしてapp/views/layouts/内のapplication.html.erbが使用されます。1つのRailsアプリケーション内で、複数のlayoutを使い分けたくなった場合のやり方についてのメモ。 renderする際にlayout…

Railsでajaxリクエストが二重に送信されてしまう

Ruby on Rails v3.2.11 jquery-rails v2.0.1 フォームからajax送信する際に、送信ボタンを2回押しているわけではないのですが、なぜか毎回2回リクエストが送信されてしまいます。ajax送信は以下のような感じ(一部抜粋)でやっています。 <%= form_tag(:action…

Railsでログローテーションする方法

Ruby on Rails v3.2.11Railsアプリケーションを動かしてるとログファイルがどんどん大きくなっていきます。ログファイルが巨大化しすぎると開くのに時間がかかっちゃいますし、何よりも大切なディスクスペースを圧迫してしまいます。 そこでログローテートで…

コードに日本語を書くとエラーになる件

Ruby on Rails v3.2.11 Controller や Helper など ruby のコードの中に日本語を書くと invalid multibyte char (US-ASCII)というようなエラーが出ます。 変数名やメソッド名だけでなく、文字列として埋め込んでもダメです。うっかりデバッグ用に日本語を埋…

デバッグ用の文字列をログファイルに書き出す

Ruby on Rails v3.2.11 ログファイルに書き出す Railsの実行時に処理されるコードの中で logger.debug("ログに吐き出す文字列") と書いておけば、ログファイル log/development.logに書き出されます(実行モードがdevelopmentのとき限定)。 ログに書き出され…

ログに書き出すログレベルを変更する

Ruby on Rails v3.2.11 ログ情報のレベル分け ログに書き出される情報は以下の5つのレベルのどれかに分類されています。 :debug デバッグ情報 0 :info 一般的な情報 1 :warn 警告情報 2 :error エラー情報 3 :fatal 致命的なエラー情報 4 Railsが動作してい…

productionモードなのにブラウザにRouting Errorが表示される

Ruby on Rails v3.2.11 Passenger v3.0.19 PassengerでデプロイしたRailsアプリで、RailsEnvをproductionとしているのに、URLに存在しないパスを指定した際に、通常表示されるはずの404エラーページではなく、なぜかdevelopmentモードでおなじみのRouting Er…

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

Ruby on Rails v3.2.11 Internet Explorer v8.0 FireFox v18.0.1 ファイルをダウンロードさせるために、send_dataで日本語のファイル名を指定してデータをエクスポートした場合 file_name = "日本語ファイル名.csv" send_data(data, :type => 'text/csv', :f…

favicon.ico を表示させるには

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

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

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