三流プログラマの雑記

プログラム、ゲーム、株、その他雑記など書いてます。

【Rails】ハマりどころの多いアセットパイプライン

暇を持て余す状況になったので、株を監理するシステムでも作ろうかと思ったわけです。

f:id:morio_1101:20160417175234p:plain

簡単に作れるように、Rails + Bootstrap + JQueryUIという感じの構成
株のAPIは一般公開されていないので、スクレイピングすることに、とはいえ毎回サイトにリクエスト飛ばすのは微妙なので、SQliteに保持することにしました。
view側で計算式埋め込んだりやらなんやらやってしまっているので、ちょっと構成は考えないといけないですが、取りあえず2日ほどで形には出来たかと。

しかし、Windows環境で無理やり作ったので、BootstrapとJQuery関連はsassのgemを使用することに、
lessってのを使用してみたかったのだけど、残念ながらwindows未対応|||orz|||

せっかくなので、windowsのサービス化してみようかなんて思ったときに、production環境で動かす必要があるのかなーっと。
WEBrickだと微妙なので、軽量化目的で、thinサーバを使用して起動してみたら、、、はいハマりました。

production環境で動かす際のお約束
【アセットパイプライン
Rails 3系から出てきたCSS、JSを結合、圧縮するぜ!!ってやつですね。

bootstrapとJQueryUI関連のファイルを食わず嫌いしないでよ|||orz||| っと言いたくなるんだけど、assetのロード用のパスを通してやらないと、画像やらフォントやらはロードされなかったりするみたい。
とりあえずは、「config/application.rb」もしくは「config/initializers/assets.rb」で【Rails.application.config.assets.precompile】の設定を追加する必要があったりする。

と書いておきながら色々試行錯誤して、、、挫折し、最終的には、、、


Gemfileに以下を追加して、productionを動かすという無念な感じになりましたとさ。

group :production do
  gem 'rails_12factor'
end

heroku今回使用しないんだけどな、、、

qiita.com

アプリケーションがこの12の要素を満たしていることか、、、
しっかり目を通しておこうと思いました(キリッ