Mat*_*t P 42 javascript ruby-on-rails
我在Surface Pro 3上安装了Rails,并在尝试查看页面后遇到此错误.我已经尝试了一些建议,比如用libv8安装rubyracer,但它没有帮助.
TypeError:Object不支持此属性或方法(在c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/turbolinks-2.5.3/lib/assets/javascripts/turbolinks.js中.咖啡)
这是我的gemfile:
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'
Run Code Online (Sandbox Code Playgroud)
Jes*_*ssa 106
Coffee脚本1.9.0与Windows不兼容.在我的Windows 7计算机上,使用1.8.0版解决了这个问题.
添加到Gemfile
gem 'coffee-script-source', '1.8.0'
Run Code Online (Sandbox Code Playgroud)
然后,跑
bundle update coffee-script-source
Run Code Online (Sandbox Code Playgroud)
并重新启动服务器(如果需要)
小智 15
有同样的问题(做一个'hello world'应用所有的东西......)但是无法让coffeescript 1.8.0修复工作.在这里找到了解决方案:http: //mech.xyz/how-to-fix-ruby-on-rails-turbolinks-js-coffee-error-windows/
脚步:
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
至
<%= javascript_include_tag '**defaults**', 'data-turbolinks-track' => true %>
这个和它现在一直很好用.
与流行的看法相反,Rails并不像他们声称的那样是跨平台兼容的.如果它是在窗户上工作,开箱即用.像你一样,我尝试了所有可用的选项.
这是使用Ruby 2.1.5p273/Rails 4.2.0解决的
我改变execjs使用UTF-8和jscript,没有效果.这是通过编辑C:\ RailsInstaller\Ruby2.1.0\lib\ruby\gems\2.1.0\gems\execjs-2.2.2\lib\execjs\runtimes.rb来完成的,将JScript =块更改为以下内容.
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
)
Run Code Online (Sandbox Code Playgroud)
我也尝试安装therubyracer,导致libv8依赖不能编译的问题.我将我的python 2.7安装添加到windows系统路径,并安装了libv8.然后它说安装了libv8但是当我试图安装therubyracer时它说找不到libv8.我卸载了libv8并再次尝试,它说libv8无法编译.这对我来说足以让我确定不能在windows上使用therubyracer,所以我从我的Gemfile中评论它,在我的windows系统路径上留下了python 2.7.
我更新了coffee-script-source,将以下内容添加到我的Gemfile中
gem 'coffee-script-source', '1.9.0'
Run Code Online (Sandbox Code Playgroud)
将coffee-script-source添加到我的Gemfile后,我运行了gem update coffee-script-source,这也没有解决问题.
然后我安装了node.js,这工作了5分钟,直到我生成了一个新的控制器,然后又被打破了.
注意:安装node.js后,您需要打开一个新的命令提示符,以获取安装node.js时设置的系统路径更新.
最后解决这个问题的方法是打开app\assets\javascripts\application.js文件并删除最后一行
// = require_tree.
最后运行以下命令以确保在Node.js中正确安装了coffee-script
npm install -g coffee-script
Run Code Online (Sandbox Code Playgroud)
这确实是一个CoffeeScript问题.它似乎只影响64位Windows机器.32位Windows很好.
默认情况下,在Rails中,CoffeeScript出现在两个地方:
解决此问题的最简单方法是简单地删除CoffeeScript.无论如何你可能根本不需要它.
归档时间: |
|
查看次数: |
41748 次 |
最近记录: |