Ruby on rails 3.1 rails 3.1,为什么我的咖啡脚本不起作用?
我试图在我的rails 3.1项目中测试coffee脚本,但它没有被执行,也没有在application.js中作为javascript生成 我有一个控制器Ruby on rails 3.1 rails 3.1,为什么我的咖啡脚本不起作用?,ruby-on-rails-3.1,coffeescript,Ruby On Rails 3.1,Coffeescript,我试图在我的rails 3.1项目中测试coffee脚本,但它没有被执行,也没有在application.js中作为javascript生成 我有一个控制器页面,这里是pages.js.coffee: test = (input) -> alert input test 'hello' 但这个警报永远不会在, 事实上,application.js只是空的 以下是GEM文件,以防对您有所帮助: source 'http://rubygems.org' gem 'rails', '3
页面
,这里是pages.js.coffee:
test = (input) ->
alert input
test 'hello'
但这个警报永远不会在,
事实上,application.js只是空的
以下是GEM文件,以防对您有所帮助:
source 'http://rubygems.org'
gem 'rails', '3.1.0'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'sqlite3'
gem 'devise', '1.4.8'
gem 'will_paginate', '~> 3.0.2'
#gem 'nested_form', :git => 'git://github.com/fxposter/nested_form.git'
gem "simple_form"
gem 'kaminari'
gem 'foreigner'
gem "cocoon"
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', " ~> 3.1.0"
gem 'coffee-rails', "~> 3.1.0"
gem 'uglifier'
end
gem "jquery-rails"
gem 'coffee-script'
gem 'haml'
# Use unicorn as the web server
# gem 'unicorn'
# Deploy with Capistrano
# gem 'capistrano'
# To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug'
group :test do
# Pretty printed test output
gem 'turn', :require => false
end
编辑
我也添加了这些gem并安装了它们,但是,没有执行coffee脚本
gem 'therubyracer'
gem 'coffee-script-source'
gem 'json'
gem 'execjs'
第一:在你的资产组中有“咖啡架”就足够了。旧版本在:资产组中有“咖啡脚本”
第二:你的*.js.coffee
文件放在哪里?您需要确保它们位于某个地方的“资产”文件夹中。从app/assets/javascripts
开始。如果它们不在您的资产文件夹中,它们将无法进入资产管道
如果您已经这样做了,请考虑启动一个新项目并使用默认配置。它应该能正常工作。将工作项目与非工作项目进行比较
如果所有这些都失败了,您是否可以在GitHub上与我们共享您的项目?请检查您的配置/application.rb,您应该可以找到如下部分:
if defined?(Bundler)
# If you precompile assets before deploying to production, use this line
Bundler.require(*Rails.groups(:assets => %w(development test)))
# If you want your assets lazily compiled in production, use this line
#Bundler.require(:default, :assets, Rails.env)
结束
我怀疑您没有在部署时预编译资产,即使您已将其设置为忽略资产宝石。谢谢您的好主意!我已经创建了一个新项目,并注意到了其中的差异,在我的application.js中,“//=require_树。”只是缺少了!^^^对我来说也是这样。在转换到3.1之后,忘记将这些需求添加到application.js的顶部