couldn't find file 'jquery' rails 3.1 stable mountable engine

252 views
Skip to first unread message

Jorgen Nilsson

unread,
Sep 1, 2011, 3:02:21 PM9/1/11
to rubyonra...@googlegroups.com
When I create a new engine in Rails 3.1 stable and then access the dummy
app or the engine I get an error say that the app can't find jquery.

I've created the engine using
rails plugin new coffee --mountable

I've also created a basic controller in the engine and the dummy app. If
I remove the javascript include tag, everything works. But with the tag
there it just bails since it can't fine jQuery. The jquery-rails gem is
installed. I have jquery as a dependency in my
gemspec file. I've even added an Gemfile to the dummy app just to try,
but it gives the same error.


accessing the dummy app
----------------------------------------------------------

Sprockets::FileNotFound in Root#index
couldn't find file 'jquery'
(in /Webapps/coffee/test/dummy/app/assets/javascripts/application.js:7)

Started GET "/" for 127.0.0.1 at 2011-09-01 20:31:01 +0200
Processing by RootController#index as HTML
Rendered root/index.html.erb within layouts/application (8.9ms)
Completed 500 Internal Server Error in 89ms

ActionView::Template::Error (couldn't find file 'jquery'
(in
/Webapps/coffee/test/dummy/app/assets/javascripts/application.js:7)):
3: <head>
4: <title>Dummy</title>
5: <%= stylesheet_link_tag "application" %>
6: <%= javascript_include_tag "application" %>
7: <%= csrf_meta_tags %>
8: </head>
9: <body>
app/views/layouts/application.html.erb:6:in
`_app_views_layouts_application_html_erb___187280571548804820_2155822020'


accessing the engine
----------------------------------------------------------

Sprockets::FileNotFound in Coffee/pages#index
couldn't find file 'jquery'
(in /Webapps/coffee/app/assets/javascripts/coffee/application.js:7)


Started GET "/coffee" for 127.0.0.1 at 2011-09-01 20:49:57 +0200
Processing by Coffee::PagesController#index as HTML
Rendered /Webapps/coffee/app/views/coffee/pages/index.html.erb within
layouts/coffee/application (0.3ms)
Completed 500 Internal Server Error in 41ms

ActionView::Template::Error (couldn't find file 'jquery'
(in
/Users/jorgen/Webapps/coffee/app/assets/javascripts/coffee/application.js:7)):
3: <head>
4: <title>Coffee</title>
5: <%= stylesheet_link_tag "coffee/application" %>
6: <%= javascript_include_tag "coffee/application" %>
7: <%= csrf_meta_tags %>
8: </head>
9: <body>

--
Posted via http://www.ruby-forum.com/.

Kurtis Rainbolt-Greene

unread,
Sep 1, 2011, 10:02:05 PM9/1/11
to rubyonra...@googlegroups.com
Hey Jorgen,

This isn't a solution, but it may be better to simply remove the line
from your js file (Looks like #= require jquery) and use the Google
CDN version:

= javascript_include_tag
'//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js', :defer
=> true, :async => true

This will this be faster for your users (because Google has more
cloudspace than you, probably) and it also removes the need for
Sprockets to compress it.

I hope you find out what's going on. :/

Cheers

> --
> You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
> To post to this group, send email to rubyonra...@googlegroups.com.
> To unsubscribe from this group, send email to rubyonrails-ta...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
>
>

--
Kurtis Rainbolt-Greene:
 title: "Hacker, Designer, Author, & Father"
 address: "718 Mill Street, Springfield, OR 97477"
 phone: "(202) 643-2263"

Jorgen Nilsson

unread,
Sep 2, 2011, 2:46:35 AM9/2/11
to rubyonra...@googlegroups.com
Hi Kurtis,

Thanks for your answer. I was thinking the same thing and I'll just
start developing without javascript all together since I don't need it
in the initial phase.

I've also tried using and creating the engine with Rails 3.1.0rc5 and
3.1.0rc8 and I get the same error. Surely I can't be alone with geting
this error?

I think I'll post an issue on Github.

Kurtis Rainbolt-Greene

unread,
Sep 2, 2011, 3:28:05 AM9/2/11
to rubyonra...@googlegroups.com
At the very least it could be a good idea to include in the issue:
It'd be nice to know where Sprockets was looking for the file.

Timothy W.

unread,
Sep 2, 2011, 2:12:15 PM9/2/11
to rubyonra...@googlegroups.com
I thought I would post here very quickly because I was having the same
problem and utilizing the google cloud resolved the issue. Here is what
it looks like now.

// This is a manifest file that'll be compiled into including all the
files listed below.
// Add new JavaScript/Coffee code in separate files in this directory
and they'll automatically
// be included in the compiled file accessible from
http://example.com/assets/application.js
// It's not advisable to add code directly here, but if you do, it'll
appear at the bottom of the
// the compiled file.
//
//= javascript_include_tag

//= require jquery_ujs
//= require_tree .

tothemario

unread,
Sep 12, 2011, 2:57:43 PM9/12/11
to Ruby on Rails: Talk
I had the same problem and finally fixed.
The solution is to explicitly require the 'jquery-rails' gem in the
dummy config/application.rb file, so Sprockets can add the jquery
assets in the assets.path.

In test/dummy/config/application.rb

require File.expand_path('../boot', __FILE__)

# Pick the frameworks you want:
# require "active_record/railtie"
require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "rails/test_unit/railtie"
require "sprockets/railtie"

# Auto-require default libraries and those for the current Rails
environment.
Bundler.require :default, Rails.env

require "coffee"
require "jquery-rails" # this should be auto-included with the
Bundler.require :default, Rails.env, but it's not happening

module Dummy
class Application < Rails::Application
# ...
end
end


Same with other gems that have assets that should be auto-loaded by
Sprockets.
Hope this helps.

- Mario Izquierdo

Kris

unread,
Sep 18, 2011, 12:22:03 PM9/18/11
to Ruby on Rails: Talk
The solution for me was to add jquery-rails to my engines Gemfile and
restart the server.

I would suspect that it does not want adding to the gemspec however,
however adding it as a development dependency might be okay.

-- Kris.

Santiago Pastorino

unread,
Sep 21, 2011, 7:57:57 PM9/21/11
to rubyonra...@googlegroups.com

Shih-Tsui Kuo

unread,
Jul 22, 2015, 3:24:34 PM7/22/15
to rubyonra...@googlegroups.com
tothemario wrote in post #1021529:

> # Auto-require default libraries and those for the current Rails
> environment.
> Bundler.require :default, Rails.env
>
> require "coffee"
> require "jquery-rails" # this should be auto-included with the
> Bundler.require :default, Rails.env, but it's not happening
>
> module Dummy
> class Application < Rails::Application
> # ...
> end
> end
>
>
> Same with other gems that have assets that should be auto-loaded by
> Sprockets.
> Hope this helps.
>
> - Mario Izquierdo

This solved my problem, I gotta login to thank you!
Reply all
Reply to author
Forward
0 new messages