6

移動した設定​​かどうかはわかりませんが、ページ内のコンポーネントが日付ピッカー要素を使用していない場合でも、プロジェクトのすべてのページにアクセスするたびに多くのローカリゼーション ファイルをロードするブートストラップ日付ピッカーに問題があります。

私のdevelopment.logから次のようなものが得られます:

Started GET "/assets/bootstrap-datepicker/locales/bootstrap-datepicker.ar.js?body=1" for 127.0.0.1 at 2014-07-29 00:14:15 -0700


Started GET "/assets/bootstrap-datepicker/locales/bootstrap-datepicker.az.js?body=1" for 127.0.0.1 at 2014-07-29 00:14:15 -0700


Started GET "/assets/bootstrap-datepicker/locales/bootstrap-datepicker.bg.js?body=1" for 127.0.0.1 at 2014-07-29 00:14:15 -0700


...


Started GET "/assets/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.js?body=1" for 127.0.0.1 at 2014-07-29 00:14:16 -0700


Started GET "/assets/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.js?body=1" for 127.0.0.1 at 2014-07-29 00:14:16 -0700

AR から zh-TW までの多くの行は、名前が示すように、各言語/地域の個別のローカリゼーション ファイルです。

これは私の運用サーバーでは問題ではありませんが、開発では非常に重要です。Vagrant では、これらのファイルの読み込みに各ページの前に約 7700 ミリ秒かかり、VMware では約 2300 ミリ秒かかります。

私のapplication.rbには次のものしかありません:

config.action_controller.include_all_helpers = false

そして私のgemfile:

source 'https://rubygems.org'

gem 'rails', '4.1'
gem 'sass-rails', '~> 4.0.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 1.2'
gem 'haml-rails'
gem 'jquery-turbolinks'
gem 'jquery-datatables-rails', git: 'https://github.com/rweng/jquery-datatables-rails.git'
gem 'jquery-ui-rails'
gem 'highcharts-rails'
gem 'rack-mini-profiler'
gem 'devise'
gem 'highstock-rails'
gem 'yaml_db', github: 'jetthoughts/yaml_db', ref: 'fb4b6bd7e12de3cffa93e0a298a1e5253d7e92ba'
gem 'hirb'

gem 'therubyracer'
gem 'less-rails'
gem 'twitter-bootstrap-rails', :git => 'git://github.com/seyhunak/twitter-bootstrap-rails.git', :branch => 'bootstrap3'

gem 'bootstrap-datepicker-rails', :require => 'bootstrap-datepicker-rails', :git => 'git://github.com/Nerian/bootstrap-datepicker-rails.git'

group :development, :test do
  gem 'sqlite3'
end
group :production do
  gem 'mysql2'
end

問題の可能性がある手がかりはありますか?

4

1 に答える 1

13

解決策を見つけました。デフォルトではすべてをロードするため、datepicker javascriptからロードしていたものを絞り込む必要がありました。

通常、application.js には次のようなものがありました。

//= require bootstrap-datepicker

私がしなければならなかったのは、それを次のように変更することだけでした:

//= require bootstrap-datepicker/core

これはすべてのローカリゼーション ファイルをロードするのではなく、デフォルトの英語をロードするだけです。

于 2014-07-30T00:00:17.150 に答える