2013-12-09 76 views
0

我一直在嘗試幾個小時來執行一個簡單的控制檯並在我的Rails應用程序中的JavaScript警告消息後,檢查更復雜的JavaScript(咖啡)代碼不起作用。我能夠打印的東西的唯一方法是將代碼放入application.js中。以下是我的應用程序的主文件:Rails不包括require_tree for javascript

的Gemfile

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' 

資產/ Java腳本/ application.js中

//= require jquery 
//= require jquery_ujs 
//= require_tree . 

資產/ Java腳本/ example.coffee

$(document).ready(function() { 
    console.log("pRUEBAEFADF") 
}); 

配置/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 

配置/環境/ 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,並解決了問題。

+0

是的,當然。 – ReyLitch

+0

您的清單文件會加載'jquery'&'jquery_ujs'。你能確保適當的jquery文件正確加載?如果不是(丟失,不在路徑中),您的coffeescript文件將不會被加載。 –

+0

問題出在rails的版本上。我一直在使用3.2.0,現在我已將它更新到3.2.15,並且問題突然解決。 – ReyLitch

回答

-2

添加'therubyracer'寶石很重要。

的資產組

gem 'therubyracer', :platforms => :ruby 

更多的信息在這裏添加此行:https://github.com/cowboyd/therubyracer

+0

安裝後,仍然無法正常工作。當我加載頁面時,不打印任何東西。我改變了example.js的代碼,現在它的名字是example.coffee,它使用了咖啡語法($(document).ready - > console.log「LOADED」)。 – ReyLitch

+0

如果他沒有安裝JS運行時,他的服務器甚至不會啓動。 – sevenseacat

+0

你可以上傳你的rails代碼到github或某個地方嗎? –

2

assets/javascripts/example.coffee不是CoffeeScript的,是的JavaScript。將該文件重命名爲assets/javascripts/example.js或將代碼轉換爲Coffeescript。此外,如果您想將其翻譯爲咖啡標記,則其名稱應爲assets/javascripts/example.js.coffee

+0

我已經嘗試過,但仍然無法正常工作。我正在嘗試Nelson的解決方案,但安裝過程太慢(我不知道爲什麼)。它試圖安裝libv8(現在10分鐘...)。 – ReyLitch