我在Surface Pro 3上安装了Rails,在try 查看页面后遇到了这个错误.我try 过几种建议,比如用libv8安装rubyracer,但都没用.

TypeError:对象不支持此属性或方法(在

这是我的档案:

source 'http://rubygems.org'


# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.1.8'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.3'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
gem 'therubyracer',  platforms: :ruby
# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0',          group: :doc
gem 'libv8', '~> 3.16.14.7'

# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use unicorn as the app server
# gem 'unicorn'

# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development

# Use debugger
# gem 'debugger', group: [:development, :test]

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin]
gem 'twitter-bootstrap-rails', :git => 'git://github.com/seyhunak/twitter-bootstrap-rails.git'
gem 'font-awesome-rails'
gem 'simple_form'
gem 'devise'

推荐答案

与人们普遍认为的相反,Rails并不像他们声称的那样具有跨平台兼容性.如果是的话,它可以在windows上工作,开箱即用.和你一样,我已经try 了所有可能的 Select .

使用Ruby 2.1.5p273/Rails 4.2.0解决了这个问题

我将execjs改为在jscript中使用UTF-8,没有效果.这是通过编辑C:\RailsInstaller\Ruby2.1.0\lib\ruby\gems\2.1.0\gems\execjs-2.2.2\lib\execjs\runtimes.rb将JScript=block更改为以下内容完成的.

JScript = ExternalRuntime.new(
  name:        "JScript",
  command:     "cscript //E:jscript //Nologo",
  runner_path: ExecJS.root + "/support/jscript_runner.js",
  encoding:    'UTF-8' # CScript with //U returns UTF-16LE
)

我还try 安装了RubyRacer,这会导致libv8依赖项无法编译的问题.我将python 2.7安装添加到windows系统路径,并安装了libv8.然后它说安装了libv8,但当我试图安装rubyracer时,它说找不到libv8.我卸载了libv8并再次try ,结果显示libv8无法编译.这足以让我断定therubyracer无法在windows上运行,所以我从Gem文件中对其进行了注释,将python 2.7保留在我的windows系统路径上.

我更新了coffee script source 代码,在我的文件中添加了以下内容

gem 'coffee-script-source', '1.9.0'

在将coffee script source 添加到我的Gemfile后,我运行了gem update coffee-script-source次,这也没有解决问题.

然后我安装了node.js,这个工作了5分钟,直到我生成了一个新的控制器,它又坏了.

注意:安装 node 后.js您需要打开一个新的命令提示符,以获取 node 启动时设置的系统路径的更新.js安装.

最后,解决这个问题的方法是打开app\assets\javascripts\application.js文件,删除最后一行,上面写着

需要树

最后,运行以下命令以确保在 node 中正确安装了coffee脚本.js

npm install -g coffee-script

Ruby-on-rails相关问答推荐

我try 使用Ruby on Rails7创建一个Carbon 足迹计算器.但我无法保存和用户S对象

使用带有 Paper Trail gem 的子类

如何让删除链接响应 Rails 7 中的 turbo_stream 和 html?

计算总价(商品数量*商品价格)

BigDecimals 的总和最终成为整数 [Ruby on Rails]

无法加载此类文件 -- mysql2/mysql2

Rails 路由到唯一索引

带有 simple_form 的按钮内的 HTML 代码

rails 3:将链接显示为按钮?

为什么使用 HTTP PUT 和 DELETE 方法而不是 POST?

使用 oauth 和 twitter ruby​​ gem 时不断收到 OAuth::Unauthorized 错误

Ruby on Rails - link_to 按钮 / css

Rails:进行不可逆转的迁移是不是很糟糕?

如何使用 Rspec 判断 ActiveJob 中排队的内容

通过 Ruby 或 Rails 的 LDAP

Rails 4模块的未初始化常量

rake db:回滚不起作用?

Ruby 安装的 RVM 不工作?

用于在多行上链接调用的 Ruby 约定

我应该在 Heroku Cedar 上使用薄的还是独角兽