【发布时间】:2013-12-09 13:02:28
【问题描述】:
在检查更复杂的 javascript(咖啡)代码不起作用之后,我一直在尝试在我的 rails 应用程序中执行一个简单的控制台和警报消息。我能够打印的唯一方法是将代码放入 application.js。以下是我的应用程序中的主要文件:
宝石文件
source 'https://rubygems.org'
gem 'rails', '3.2.0'
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'jquery-rails', '3.0.4'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
end
gem 'mongo_mapper'
gem 'haml', "~> 4.0.4"
gem 'i18n', '~> 0.6.9'
assets/javascripts/application.js
//= require jquery
//= require jquery_ujs
//= require_tree .
assets/javascripts/example.coffee
$(document).ready(function() {
console.log( "pRUEBAEFADF")
});
config/application.rb
require File.expand_path('../boot', __FILE__)
require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "sprockets/railtie"
require "rails/test_unit/railtie"
if defined?(Bundler)
Bundler.require(*Rails.groups(:assets => %w(development test)))
end
module HotelAbadi
class Application < Rails::Application
config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
config.i18n.default_locale = :es
config.encoding = "utf-8"
config.filter_parameters += [:password]
config.assets.enabled = true
config.assets.paths << "#{ Rails.root }/app/assets/fonts"
config.assets.version = '1.0'
end
end
config/environments/development.rb
HotelAbadi::Application.configure do
config.cache_classes = false
config.whiny_nils = true
config.consider_all_requests_local = true
config.action_controller.perform_caching = false
config.action_mailer.raise_delivery_errors = false
config.active_support.deprecation = :log
config.action_dispatch.best_standards_support = :builtin
config.assets.compress = false
config.assets.debug = true
config.assets.compile = true
config.serve_static_assets = false
end
我也尝试手动添加文件,但它没有执行任何操作。我找不到更多讨论这个问题的页面。提前致谢。
编辑:我已经将版本从 3.2.0 更新到 3.2.15 并且问题解决了。
【问题讨论】:
-
您的清单文件加载
jquery和jquery_ujs。你能确保正确加载这些 jquery 文件吗?如果没有(丢失,不在路径中),您的咖啡脚本文件甚至不会被加载。 -
问题出在 Rails 的版本上。一直在用3.2.0,现在更新到3.2.15,问题一下子解决了。
标签: javascript ruby-on-rails ruby coffeescript