0

アプリケーションに Ruby 2 と Rails 4 を使用しています。gmaps4rails gem をインストールし、そのアセットを lib/assets から vendor/assets (スタイルシートと javascripts ディレクトリの両方) に移動しました。gmaps4rails を使用するコントローラーは FieldsController と呼ばれます。以下は私のコードです:

# app/assets/javascripts/fields.js.coffee
//= require gmaps4rails/gmaps4rails.base
//= require gmaps4rails/gmaps4rails.googlemaps

gmaps4rails は vendor/assets/javascripts のディレクトリです。

# config/application.rb
config.assets.precompile += %w[ gmaps4rails.css gmaps4rails/*.js ]

gmaps4rails.css は vendor/assets/stylesheets にあるファイルです。

# app/views/layouts/application.html.erb
<head>
...
  <%= stylesheet_link_tag "gmaps4rails" %>
...
</head>

Rails サーバーを起動して Fields インデックス ページに移動すると、次のログが表示されます。

Started GET "/fr/fields" for 127.0.0.1 at 2013-09-29 07:08:45 +0200
Started GET "/fr/fields" for 127.0.0.1 at 2013-09-29 07:08:45 +0200
Started GET "/assets/bootstrap-datepicker.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/bootstrap-datepicker.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/comments.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/comments.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/contact.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/contact.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/custom.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/custom.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/fields.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/fields.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/home.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/home.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/matches.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/matches.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/scaffolds.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/scaffolds.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/users.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/users.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/gmaps4rails.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/gmaps4rails.css?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:46 +0200
Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/turbolinks.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/turbolinks.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-transition.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-transition.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-affix.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-affix.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-alert.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-alert.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-button.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-button.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-carousel.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-carousel.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-collapse.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-collapse.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-dropdown.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-dropdown.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-modal.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-modal.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-scrollspy.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-scrollspy.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-tab.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-tab.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-tooltip.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-tooltip.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-popover.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-popover.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-typeahead.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-typeahead.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/comments.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/comments.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/contact.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/contact.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/gmaps4rails/gmaps4rails.base.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/gmaps4rails/gmaps4rails.base.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/gmaps4rails/gmaps4rails.googlemaps.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/gmaps4rails/gmaps4rails.googlemaps.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/fields.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/fields.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/home.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/home.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-datepicker/core.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-datepicker/core.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-datepicker/locales/bootstrap-datepicker.fr.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/bootstrap-datepicker/locales/bootstrap-datepicker.fr.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/matches.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/matches.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/users.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/users.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/javascripts/gmaps4rails/gmaps4rails.base.js" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/javascripts/gmaps4rails/gmaps4rails.base.js" for 127.0.0.1 at 2013-09-29 07:08:47 +0200

ActionController::RoutingError (No route matches [GET] "/javascripts/gmaps4rails/gmaps4rails.base.js"):
  actionpack (4.0.0.beta1) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  actionpack (4.0.0.beta1) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (4.0.0.beta1) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.0.0.beta1) lib/rails/rack/logger.rb:21:in `block in call'
  activesupport (4.0.0.beta1) lib/active_support/tagged_logging.rb:67:in `block in tagged'
  activesupport (4.0.0.beta1) lib/active_support/tagged_logging.rb:25:in `tagged'
  activesupport (4.0.0.beta1) lib/active_support/tagged_logging.rb:67:in `tagged'
  railties (4.0.0.beta1) lib/rails/rack/logger.rb:21:in `call'
  actionpack (4.0.0.beta1) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
  rack (1.5.2) lib/rack/runtime.rb:17:in `call'
  activesupport (4.0.0.beta1) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
  rack (1.5.2) lib/rack/lock.rb:17:in `call'
  actionpack (4.0.0.beta1) lib/action_dispatch/middleware/static.rb:64:in `call'
  railties (4.0.0.beta1) lib/rails/engine.rb:510:in `call'
  railties (4.0.0.beta1) lib/rails/application.rb:96:in `call'
  rack (1.5.2) lib/rack/lock.rb:17:in `call'
  rack (1.5.2) lib/rack/content_length.rb:14:in `call'
  rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
  /usr/local/rvm/rubies/ruby-2.0.0-rc2/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service'
  /usr/local/rvm/rubies/ruby-2.0.0-rc2/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run'
  /usr/local/rvm/rubies/ruby-2.0.0-rc2/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'



ActionController::RoutingError (No route matches [GET] "/javascripts/gmaps4rails/gmaps4rails.base.js"):
  actionpack (4.0.0.beta1) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  actionpack (4.0.0.beta1) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (4.0.0.beta1) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.0.0.beta1) lib/rails/rack/logger.rb:21:in `block in call'
  activesupport (4.0.0.beta1) lib/active_support/tagged_logging.rb:67:in `block in tagged'
  activesupport (4.0.0.beta1) lib/active_support/tagged_logging.rb:25:in `tagged'
  activesupport (4.0.0.beta1) lib/active_support/tagged_logging.rb:67:in `tagged'
  railties (4.0.0.beta1) lib/rails/rack/logger.rb:21:in `call'
  actionpack (4.0.0.beta1) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
  rack (1.5.2) lib/rack/runtime.rb:17:in `call'
  activesupport (4.0.0.beta1) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
  rack (1.5.2) lib/rack/lock.rb:17:in `call'
  actionpack (4.0.0.beta1) lib/action_dispatch/middleware/static.rb:64:in `call'
  railties (4.0.0.beta1) lib/rails/engine.rb:510:in `call'
  railties (4.0.0.beta1) lib/rails/application.rb:96:in `call'
  rack (1.5.2) lib/rack/lock.rb:17:in `call'
  rack (1.5.2) lib/rack/content_length.rb:14:in `call'
  rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
  /usr/local/rvm/rubies/ruby-2.0.0-rc2/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service'
  /usr/local/rvm/rubies/ruby-2.0.0-rc2/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run'
  /usr/local/rvm/rubies/ruby-2.0.0-rc2/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'


Started GET "/javascripts/gmaps4rails/gmaps4rails.googlemaps.js" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/javascripts/gmaps4rails/gmaps4rails.googlemaps.js" for 127.0.0.1 at 2013-09-29 07:08:47 +0200

ActionController::RoutingError (No route matches [GET] "/javascripts/gmaps4rails/gmaps4rails.googlemaps.js"):
  actionpack (4.0.0.beta1) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  actionpack (4.0.0.beta1) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (4.0.0.beta1) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.0.0.beta1) lib/rails/rack/logger.rb:21:in `block in call'
  activesupport (4.0.0.beta1) lib/active_support/tagged_logging.rb:67:in `block in tagged'
  activesupport (4.0.0.beta1) lib/active_support/tagged_logging.rb:25:in `tagged'
  activesupport (4.0.0.beta1) lib/active_support/tagged_logging.rb:67:in `tagged'
  railties (4.0.0.beta1) lib/rails/rack/logger.rb:21:in `call'
  actionpack (4.0.0.beta1) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
  rack (1.5.2) lib/rack/runtime.rb:17:in `call'
  activesupport (4.0.0.beta1) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
  rack (1.5.2) lib/rack/lock.rb:17:in `call'
  actionpack (4.0.0.beta1) lib/action_dispatch/middleware/static.rb:64:in `call'
  railties (4.0.0.beta1) lib/rails/engine.rb:510:in `call'
  railties (4.0.0.beta1) lib/rails/application.rb:96:in `call'
  rack (1.5.2) lib/rack/lock.rb:17:in `call'
  rack (1.5.2) lib/rack/content_length.rb:14:in `call'
  rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
  /usr/local/rvm/rubies/ruby-2.0.0-rc2/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service'
  /usr/local/rvm/rubies/ruby-2.0.0-rc2/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run'
  /usr/local/rvm/rubies/ruby-2.0.0-rc2/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'



ActionController::RoutingError (No route matches [GET] "/javascripts/gmaps4rails/gmaps4rails.googlemaps.js"):
  actionpack (4.0.0.beta1) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  actionpack (4.0.0.beta1) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (4.0.0.beta1) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.0.0.beta1) lib/rails/rack/logger.rb:21:in `block in call'
  activesupport (4.0.0.beta1) lib/active_support/tagged_logging.rb:67:in `block in tagged'
  activesupport (4.0.0.beta1) lib/active_support/tagged_logging.rb:25:in `tagged'
  activesupport (4.0.0.beta1) lib/active_support/tagged_logging.rb:67:in `tagged'
  railties (4.0.0.beta1) lib/rails/rack/logger.rb:21:in `call'
  actionpack (4.0.0.beta1) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
  rack (1.5.2) lib/rack/runtime.rb:17:in `call'
  activesupport (4.0.0.beta1) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
  rack (1.5.2) lib/rack/lock.rb:17:in `call'
  actionpack (4.0.0.beta1) lib/action_dispatch/middleware/static.rb:64:in `call'
  railties (4.0.0.beta1) lib/rails/engine.rb:510:in `call'
  railties (4.0.0.beta1) lib/rails/application.rb:96:in `call'
  rack (1.5.2) lib/rack/lock.rb:17:in `call'
  rack (1.5.2) lib/rack/content_length.rb:14:in `call'
  rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
  /usr/local/rvm/rubies/ruby-2.0.0-rc2/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service'
  /usr/local/rvm/rubies/ruby-2.0.0-rc2/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run'
  /usr/local/rvm/rubies/ruby-2.0.0-rc2/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'

ご覧のとおり、説明できないルーティング エラーがいくつかあります。

ActionController::RoutingError (No route matches [GET] "/javascripts/gmaps4rails/gmaps4rails.base.js"):
...
ActionController::RoutingError (No route matches [GET] "/javascripts/gmaps4rails/gmaps4rails.base.js"):
...
ActionController::RoutingError (No route matches [GET] "/javascripts/gmaps4rails/gmaps4rails.googlemaps.js"):
...
ActionController::RoutingError (No route matches [GET] "/javascripts/gmaps4rails/gmaps4rails.googlemaps.js"):
...

私が理解しているのは、ActionController には /javascripts/gmaps4rails/gmaps4rails.base.js および /javascripts/gmaps4rails/gmaps4rails.googlemaps.js へのルートがないということです。ただし、エラーの数行上にあることに驚いています。サーバーはこれらのファイルを別のパスから取得できます。

Started GET "/assets/gmaps4rails/gmaps4rails.base.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/gmaps4rails/gmaps4rails.base.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/gmaps4rails/gmaps4rails.googlemaps.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200
Started GET "/assets/gmaps4rails/gmaps4rails.googlemaps.js?body=1" for 127.0.0.1 at 2013-09-29 07:08:47 +0200

これらのエラーによってアプリケーションが中断されることはありません。アプリケーションが適切に実行され、正しいページがユーザーに表示されることを意味しますが、これらのエラーは何かが間違っていることを意味し、先に進む前に修正したいと考えています。誰でもこの問題を解決できますか、ありがとう。

4

1 に答える 1