【发布时间】:2011-11-09 01:28:54
【问题描述】:
我创建了一个名为 demo1 的干净简单的 Rails 3.1 应用程序。它包含两个控制器——你好和再见。当我尝试加载 http://localhost:3000/say/hello 时出现以下错误:
ActionView::Template::Error (
(in /home/me/dev/ruby/demo1/app/assets/javascripts/say.js.coffee)):
3: <head>
4: <title>Demo1</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___558576499_89622220'
application.html.erb的问题行是:
<%= javascript_include_tag "application" %>
当我使用 Rails 3.0 创建应用程序时,这一行是:
<%= javascript_include_tag :defaults %>
这很好用。实际上,当我将 application.html.erb 更改为使用 :defaults 时,一切正常,但我想使用 Rails 3.1 的新功能。
我似乎无法在 Google 上找到任何关于此的内容,我猜是因为 Rails 3.1 刚刚发布。
顺便说一句,我正在关注Agile Web Development with Rails (4th edition) Updated for Rails 3.1本书的第一章。
一些环境信息可能有助于回答这个问题:
$ cat /etc/issue
Ubuntu 10.04.2 LTS \n \l
$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]
$ rails -v
Rails 3.1.0
say.js.coffee 文件的内容:
# Place all the behaviors and hooks related to the matching controller here.
# All this logic will automatically be available in application.js.
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
【问题讨论】:
-
快速提问,当你运行 bundle install 时,一切都安装正确了吗?我想知道 exec.js 是否有问题
-
是的,我再次重新运行 bundle install 并且一切似乎都很好......有什么想法可以深入挖掘吗?
-
尝试查看创建应用程序时的终端输出,看看是否安装失败。自 beta 版本以来,我一直在使用 rails 3.1。我尝试按照书中的建议从头开始创建演示应用程序,并创建了控制器。它按预期工作。同样,我已经安装了 execjs 和 coffee-script。所以它只需要找到它并将其绑定到锁定的 gemfile。
-
很好的建议。那么你是在使用 Rails 3.1 之前安装了 execjs 和 coffee-script 还是在 Rails 3.1 中创建项目时安装了它们?
-
它们在 Rails 3.1 的默认 gemfile 中。因为我已经使用测试版几个月了,我已经安装了这些。
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1