要使博客在rails 4.2中运行,我需要做些什么?

时间:2015-01-30 16:24:37

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4

我刚刚安装了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的任何教程?

3 个答案:

答案 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

希望这有帮助。