Rails-4, ExecJS :: ProgramError in Pages # welcome

Sto cercando di aggiungere funzionalità di logout di accesso alla mia app di rotaie. Per questo ho aggiunto bcrypt gem per la crittografia della password e anche il controller di accesso. Ora quando lo eseguo localmente, ricevo un messaggio di errore. La mia app stava funzionando bene prima di aggiungere la funzionalità di cui sopra.

Messaggio di errore:

 TypeError: Object doesn't support this property or method (in C:/DevKit/lib/ruby/gems/1.9.1/gems/turbolinks-2.5.3/lib/assets/javascripts/turbolinks.js.coffee) Extracted source (around line #8):  PostApp true %> true %> ----> Line 8   

Gemfile:

 source 'http://rubygems.org' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '4.1.4' # Use sqlite3 as the database for Active Record group :development do gem 'sqlite3' end group :production do gem 'pg' end # 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 # Use ActiveModel has_secure_password gem 'bcrypt', '~> 3.1.7' 

Non so che tipo di errore di tipo sto ottenendo. Qualche idea su cosa potrebbe succedere?

Grazie, Chuchoo

C’è un problema con coffee-script-source 1.9.0 in esecuzione su Windows.

Sembra che devi aggiungere questo al tuo gemfile:

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

Quindi fa

 bundle update coffee-script-source 

Stavo avendo lo stesso problema e l’ho risolto aggiungendo il seguente codice per config \ initializer \ assets.rb

 Rails.application.config.assets.precompile += %w( application.css ) 

Installa la versione x86 di node.js (versione non x64 anche se disponi di un computer a 64 bit ) Puoi scaricarla da https://nodejs.org/en/download/

Tutte le altre risposte non sono necessarie.

  • Non c’è bisogno di “coffee-script-source” o “execjs”
  • Non c’è bisogno di modificare nemmeno i file execjs
  • Non è necessario aggiungere il percorso per Node.js poiché x86 lo aggiunge automaticamente

Dopo aver installato node.js, è necessario riavviare il server rails AND la shell CMD in cui è in esecuzione, per aggiornare il percorso che vedrà.

@Chuchoo, commentando <%=javascript_include_tag 'application', 'data-turbolinks-track'=>true %> risolve il problema.

Per i tanti neofiti là fuori, maggiori dettagli su come arrivare alla soluzione.

Vai alla tua directory app e accedi al file application.html.erb da app_app> app> viste> layout> application.html.erb e commenta il javascript sulla linea 6.

  

Aggiorna la tua pagina e sei a posto.

uncomment (app / assets / javascripts / application.js)

 //= require jquery //= require jquery_ujs //= require turbolinks //= require_tree . 

Vai alla tua directory app e poi apri il file application.html.erb all’interno di app / views / layouts e commenta queste due righe (5a e 6a) in questo modo:

   

aggiorna la tua pagina web e il tuo problema è risolto!

Ciao ho avuto lo stesso problema e puoi farlo: https://www.youtube.com/watch?v=N5i94L17KPo Funziona ora per me.