2016-03-30 45 views
0

这里是我的代码:我不能让jQuery的文件工作

$('li.food').addClass('red'); 

网站是在生产。我在app/assets/javascripts文件夹中创建了一个jQuery文件hide.js

这是我application.html.erb文件:

<head> 

<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> 
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> 

<%= javascript_include_tag 'hide', 'data-turbolinks-track' => true %> 
<%= stylesheet_link_tag 'hide', media: 'all', 'data-turbolinks-track' => true %> 

<%= csrf_meta_tags %> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<%= render 'layouts/shim' %> 

</head> 

这是Heroku的日志中的错误消息:

ActionController::RoutingError (No route matches [GET] "/javascripts/hide.js"): 
vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.2/lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call' 
vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.2/lib/active_support/tagged_logging.rb:68:in `block in tagged' 
vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.2/lib/active_support/tagged_logging.rb:26:in `tagged' 
vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.2/lib/action_dispatch/middleware/request_id.rb:21:in `call' 

这是我application.js文件

//= require social-share-button 
//= require jquery 
//= require jquery_ujs 
//= require hide 
//= require hide.js 
//= require bootstrap 
//= require turbolinks 
//= require_tree . 

的Gemfile

source 'https://rubygems.org' 

gem 'rails',     '4.2.2' 
gem 'bootstrap-sass',   '3.2.0.0' 
gem 'bcrypt',     '3.1.7' 
gem 'faker',     '1.4.2' 
gem 'carrierwave', github: 'carrierwaveuploader/carrierwave' 
gem 'mini_magick',    '3.8.0' 
gem 'fog',      '1.36.0' 
gem 'will_paginate',   '3.0.7' 
gem 'bootstrap-will_paginate', '0.0.10' 
gem 'sass-rails',    '5.0.2' 
gem 'uglifier',    '2.5.3' 
gem 'coffee-rails',   '4.1.0' 
gem 'jquery-rails',   '4.0.3' 
gem 'turbolinks',    '2.3.0' 
gem 'jbuilder',    '2.2.3' 
gem 'sdoc',     '0.4.0', group: :doc 
gem 'fog-aws' 
gem 'activerecord-reputation-system', require: 'reputation_system' 
gem 'social-share-button', '~> 0.1.6' 

group :development, :test do 
    gem 'sqlite3',  '1.3.9' 
    gem 'byebug',  '3.4.0' 
    gem 'web-console', '2.0.0.beta3' 
    gem "spring", group: :development 
end 

group :test do 
    gem 'minitest-reporters', '1.0.5' 
    gem 'mini_backtrace',  '0.1.3' 
    gem 'guard-minitest',  '2.3.1' 
end 

group :production do 
    gem 'pg',    '0.17.1' 
    gem 'rails_12factor', '0.0.2' 
    gem 'puma',   '2.11.1' 
end 

Chrome的错误

Failed to load resource: the server responded with a status of 404 (Not Found) ...for stylesheets/hide.css 
Failed to load resource: the server responded with a status of 404 (Not Found) ...for javascripts/hide.js 

我试过bundle exec rake assets:precompileHeroku run bundle exec rake assets:precompile

我没有任何问题运行引导jquery组件,如Carousel。

从搜索,好像所有我应该有做的就是把应用程序/资产/ JavaScript和Rails的hide.js应该照顾的休息,:(

+0

您已隐藏在您的需求树中,但它是否包含在应用程序中? – toddmetheny

+0

你可以试试从你的'application.js'去除'// = require hide // = require hide.js'。它们通过'// = require_tree'自动包含到'application.js'中。 – dp7

+0

是的,它仍然不起作用。 –

回答

0

的各种答案被发现here

$(document).on('page:change', function() { 
// Actions to do 
}); 
0

从删除此行您application.js中

//= require hide.js 

此外,如果你已经在你的application.js加入隐藏的js文件所以没必要把它分开使用

<%= javascript_include_tag 'hide', 'data-turbolinks-track' => true %> 
+0

仍然无法使用。 –