Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TypeError: Object doesn't support this property or method

I have created rails application where I created a database (empty). When I try to view my products page, I receive the following error on my http://localhost:3000/products page. Before migrating the database, the application did function. I am using therubyracer and am on Windows 7.

ExecJS::ProgramError in Products#index
Showing C:/RailsInstaller/DevKit/home/JP/nameofapp/app/views/layouts/application.html.erb where line #16 raised:

TypeError: Object doesn't support this property or method
  (in C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/turbolinks-2.5.3/lib/assets/javascripts/turbolinks.js.coffee)
Extracted source (around line #16):

13     <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
14     
15     <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
16     <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
17     <%= csrf_meta_tags %>
18     
19   </head>

Rails.root: C:/RailsInstaller/DevKit/home/JP/nameofapp

This is what I got on the Rails server:

Started GET "/products" for 127.0.0.1 at 2015-04-23 22:28:06 -0400
  ActiveRecord::SchemaMigration Load (0.0ms)  SELECT "schema_migrations".* FROM
"schema_migrations"
Processing by ProductsController#index as HTML
  Product Load (0.0ms)  SELECT "products".* FROM "products"
  Rendered products/index.html.erb within layouts/application (4.0ms)
Completed 500 Internal Server Error in 3391ms

ActionView::Template::Error (TypeError: Object doesn't support this property or
method
  (in C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/turbolinks-2.5.3/lib/
assets/javascripts/turbolinks.js.coffee)):
    13:   <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.mi
n.js"></script>
    14:
    15:   <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolin
ks-track' => true %>
    16:   <%= javascript_include_tag 'application', 'data-turbolinks-track' => t
rue %>
    17:   <%= csrf_meta_tags %>
    18:
    19: </head>
  app/views/layouts/application.html.erb:16:in `_app_views_layouts_application_h
tml_erb__912949727_56715336'


  Rendered C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/actionpack-4.1.8
/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.0ms)
  Rendered C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/actionpack-4.1.8
/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb
 (6.0ms)
  Rendered C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/actionpack-4.1.8
/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within
 rescues/layout (27.0ms)

Thank you for any help.

like image 620
user4808012 Avatar asked Apr 24 '15 03:04

user4808012


3 Answers

The error occurs because there is some problem finding the correct assets which are located in app/assets. To resolve the issue, you can following below steps.

Add gem 'coffee-script-source', '1.8.0' into Gemfile and run bundle install then Run bundle update coffee-script-source Restart rails server Or there is a dirty workaround which is to change the code from

<%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
<%= csrf_meta_tags %>

to

<%= stylesheet_link_tag "default", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "default", "data-turbolinks-track" => true %>
<%= csrf_meta_tags %>

But note this workaround doesn't really resolve the application issue, it just makes your application works without expected stylesheets and javascripts.

like image 121
Alok Amme Avatar answered Nov 14 '22 07:11

Alok Amme


I removed the require_tree from application.js and it worked

//= require jquery 
//= require jquery_ujs 
//= require turbolinks 
// require_tree .
like image 22
Naiguel Developer Avatar answered Nov 14 '22 07:11

Naiguel Developer


I think Best Solution is Removing the slashes in application.js file like

= require jquery
= require jquery_ujs
= require turbolinks
= require_tree .
like image 5
Hansa Tharuka Avatar answered Nov 14 '22 07:11

Hansa Tharuka