tiempo readasbinarystring propiedad objeto método metodo internet from esta error ejecución acepta javascript ruby-on-rails

readasbinarystring - error en tiempo de ejecución de javascript el objeto no acepta la propiedad o el método mask



El objeto no admite esta propiedad o método Rails Windows 64bit (5)

Esto es causado por una incompatibilidad entre Windows de 64 bits y la gema CoffeeScript.

Este es realmente un problema de CoffeeScript. Solo parece afectar a las máquinas Windows de 64 bits. Windows de 32 bits está bien.

CoffeeScript ocurre en dos lugares por defecto en Rails:

  • El generador de andamios predeterminado crea un archivo de script de café.
  • Turbolinks es CoffeeScript.

La forma más sencilla de solucionar esto es simplemente eliminar CoffeeScript. Probablemente no lo necesites de todos modos.

  1. Elimine el archivo coffeeScript generado en app / assets / javascripts.
  2. Retire la gema turbolinks del archivo de gemas, luego instale el paquete.
  3. Edite assets / stylesheets / application.js para eliminar los turbolinks incluidos.

Instalé Rails en mi Surface Pro 3 y me topé con este error después de intentar ver una página. He intentado varias sugerencias, como instalar rubyracer con libv8, pero no me ayudó.

TypeError: Object no admite esta propiedad o método (en c: /RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/turbolinks-2.5.3/lib/assets/javascripts/turbolinks.js. café)

Aquí está mi archivo de gemas:

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''


Coffee script 1.9.0 no funciona bien con Windows. En mi máquina con Windows 7, el uso de la versión 1.8.0 resolvió este problema.

Añadir a Gemfile

gem ''coffee-script-source'', ''1.8.0''

entonces corre

bundle update coffee-script-source

y reinicie el servidor (si es necesario)


Contrariamente a la creencia popular, Rails NO es compatible con plataformas cruzadas como afirman. Si lo fuera, funcionaría en Windows, fuera de la caja. Como tú, he probado todas las opciones disponibles.

Esto se resolvió usando Ruby 2.1.5p273 / Rails 4.2.0

Cambié execjs para usar UTF-8 con jscript, sin efecto. Esto se realizó editando C: / RailsInstaller / Ruby2.1.0 / lib / ruby ​​/ gems / 2.1.0 / gems / execjs-2.2.2 / lib / execjs / runtimes.rb cambiando el bloque JScript = a lo siguiente.

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 )

También intenté instalar therubyracer, lo que provoca problemas con la dependencia de libv8 que no se compila. Agregué mi instalación de Python 2.7 a la ruta del sistema de Windows e instalé libv8. Luego dijo que libv8 estaba instalado, pero cuando intenté instalar therubyracer, dijo que no se pudo encontrar libv8. Desinstalé libv8 e intenté nuevamente y decía que libv8 no se podía compilar. Eso fue suficiente para determinar que el therubyracer no funcionaría en Windows, así que lo comenté fuera de mi Gemfile, dejando Python 2.7 en mi ruta del sistema de Windows.

Actualicé coffee-script-source, agregando lo siguiente a mi Gemfile

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

Después de agregar coffee-script-source a mi Gemfile, ejecuté gem update coffee-script-source , esto tampoco resolvió el problema.

Luego instalé node.js, esto funcionó durante 5 minutos hasta que generé un nuevo controlador, y se rompió nuevamente.

Nota: Después de instalar node.js, debe abrir un nuevo símbolo del sistema para obtener las actualizaciones de la ruta del sistema que se configuran cuando se instala node.js.

Finalmente, lo que solucionó este problema fue abrir el archivo app / assets / javascripts / application.js y eliminar la última línea que dice

// = require_tree.

Por último, ejecute el siguiente comando para asegurarse de que coffee-script esté instalado correctamente en Node.js

npm install -g coffee-script



Tuve el mismo problema (hacer una aplicación ''hello world'' de todas las cosas ...) pero no pude conseguir que la solución coffeescript 1.8.0 funcionara. Encontré una solución aquí: http://mech.xyz/how-to-fix-ruby-on-rails-turbolinks-js-coffee-error-windows/

Pasos:

  1. Vaya a / app / views / layouts / application.html.erb
  2. Cambiar la línea 6 de

<%= javascript_include_tag ''application'', ''data-turbolinks-track'' => true %>

a

<%= javascript_include_tag ''**defaults**'', ''data-turbolinks-track'' => true %>

Hice esto y ha estado funcionando bien ahora.