[前][次][番号順一覧][スレッド一覧]

rails:3801

From: 橋立友宏 <kakyoin.hierophant+i@g...>
Date: Tue, 14 Aug 2012 17:10:42 +0900
Subject: [rails:3801] Re: Rails3: twitter-bootstrapのdropdownがデプロイすると動かない

荒金さん

橋立と申します。

恐らく、assetsのprecompile漏れだと思います。
production環境では、デフォルトで自動コンパイルがオフになっているので、
事前にprecompileして静的なjavascriptファイルを作ってから、
production環境にデプロイします。
(デプロイツールを活用する方法もあります)

また、config.assets.precompileという設定項目に記述されていない
マニフェストファイル(app/assets/application.js等)は、precompileされなかったと思います。
application.jsはデフォルトで追加済み。

twitter-bootstrapのjavascriptをどうやって読み込んでいるかによりますが、
//=require hogehogeという書式でどこかのマニフェストファイルに記述しているなら、
config/environments/production.rbのconfig.assets.precompileにそのファイル名を追加して、
rake assets:precompileを行う。
application.jsから読みこんでいて、precompile漏れだけなら、rake assets:precompileを実施して、
最後に、compile後のassetsファイルごとデプロイする。

という方法で解決できるのではないかと。


後、全然関係無い話ですが、Railsのバージョンが若干古いので環境的に可能なら上げておいた方が良いかと思います。


2012年8月14日 15:11 Ayako Arakane <arakane@r...>:
>
> こんにちは、荒金と申します。
>
> twitter-bootstrapでdropdownをjavascriptで表示する機能が、
> production環境にデプロイすると動かないのですが、
> どなたか対処法をご存じの方いませんでしょうか。
>
> 原因は、Rails3のAsset Pipeline(各種jsファイルをひとつのjsに圧縮して負荷を減らす仕組み)のせいで、
> 一時対処としてAsset Pipelineの機能をOFFにすると動くようになりました。
> config/environments/production.rb
> -------------------------------
> config.assets.debug = true
> -------------------------------
>
> ただ、これをやってしまうとAsset Pipelineの機能が全く使えず、
> cssとjsが圧縮されないので、負荷軽減されなくなってしまいます。
> なので恒久対策とは言えないなぁと悩んでいます。
> 誰かこれ以上の対処方法知っていたら、ご教授願います。
>
> 主な環境は以下の通りです。
> rails (3.2.0)
> twitter-bootstrap-rails (2.1.0)
> mysql2 (0.3.11)
>
> 宜しくお願いします。
>
>
> --
> ML: rails@r...
> 使い方: http://QuickML.com/

--
ML: rails@r...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

      3800 2012-08-14 08:11 [arakane@r...        ] Rails3: twitter-bootstrapのdropdownがデプロイすると動かない
->    3801 2012-08-14 10:10 ┗[kakyoin.hierophant+i]                                       
      3802 2012-08-14 13:08  ┗[arakane@r...        ]