我刚刚安装了rails 4.2。我找到了这个教程来制作一个快速的博客:https://www.reinteractive.net/posts/32-ruby-on-rails-3-2-blog-in-15-minutes-step-by-step。但是,它使用rails 3.2。我已经完成了它所说的所有事情rake db:migrate
但是,当我运行服务器时,我只是得到一个错误页面。自3.2以来有什么变化?我现在要做什么来做同样的事情?
错误: 帖子中的'ExecJS :: ProgramError #index' TypeError:Object不支持此属性或方法 (在C:/Ruby193/lib/ruby/gems/1.9.1/gems/turbolinks-2.5.3/lib/assets/javascripts/turbolinks.js.coffee)
编辑:
另一方面,我甚至无法遵循官方ruby on rails教程,因为当我运行服务器时,在将根目录更改为root 'welcome#index'
后,我只是找不到页面错误。
是否有针对rails 4.2的任何教程?
答案 0 :(得分:4)
我在Windows上有完全相同的ExecJS :: ProgramError。真正有用的唯一解决方案是KeithP在这里提供的:Rails-4, ExecJS::ProgramError in Pages#welcome,即,
回滚到gem' coffee-script-source',' 1.8.0'。
答案 1 :(得分:4)
这里有一些信息:ExecJS::RuntimeError in Users#index (RoR)
我在研究这个问题时发现的是,在CoffeeScript中有一个签到我认为破坏Windows的东西(在某些版本的cscript运行时):https://github.com/jashkenas/coffeescript/blob/28c07d30cbd2add7ee762c7d532b2c9c972e441a/lib/coffee-script/parser.js
在第563行,它执行的Object create(lexer)
失败并显示错误ActionView::Template::Error (TypeError: Object doesn't support this property or method
。
回滚到CoffeeScript 1.8.0(在此更改之前)解决此问题。正如其他人在本答案和其他地方所述,使用不同的运行时也会解决这个问题。
要回滚到CoffeeScript 1.8.0,请将其添加到gemfile:
gem 'coffee-script-source', '1.8.0'
并运行以下命令:
gem update 'coffee-script-source'
bundle update 'coffee-script-source'
重新启动服务器,它应该正常工作。
答案 2 :(得分:1)
这可以解决你的问题:
将gem 'therubyracer', '~> 0.12.1'
添加到您的gemfile中(或取消注释它 - 应该已经存在...)
然后运行bundle install
希望这有帮助。