Ruby On Rails javascript_include_tag错误 [英] Ruby On Rails errors with javascript_include_tag

查看:223
本文介绍了Ruby On Rails javascript_include_tag错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我的问题,从我可以告诉,似乎是红宝石没有加载所有的JavaScript文件,因为我没有得到确认消息和link_to方法::删除没有为我做。



使用为我提供的默认设置导入新节点



views / layouts / application.html.erb节头如下。

 < head> 
< title> Myrubyblog< / title>
<%= stylesheet_link_tag'default',media:'all','data-turbolinks-track'=> true%>
<%= javascript_include_tag'default','data-turbolinks-track'=>真%GT;
<%= csrf_meta_tags%>
< / head>

这给了我错误

 在2015-02-27 02:14:57 -0600 
启动GET/ posts为127.0.0.1 ActiveRecord :: SchemaMigration加载(0.0ms)SELECTschema_migrations。* FROMschema_migrations
通过PostsController进行处理#index为HTML
后期加载(1.0ms)SELECTposts。* FROMposts
布局中的渲染帖/ index.html.erb /应用程序(11.0ms)
在76ms内完成200 OK(查看:54.0ms | ActiveRecord:4.0ms)


开始获取127.0/stylesheets/default.css。 0.1 at 2015-02-27 02:14:58 -0600

ActionController :: RoutingError(没有路由匹配[GET]/stylesheets/default.css):
actionpack(4.1 .8)lib / action_dispatch / middleware / debug_exceptions.rb:21:在`call'中
actionpack(4.1.8)lib / action_dispatch / middleware / show_exceptions.rb:30:在`call'中
railties (4.1.8)lib / rails / rack / logger.rb:38:在`call_app'
railties(4.1.8)lib / rails / rack / logger.rb:20:i n'block in call'
activesupport(4.1.8)lib / active_support / tagged_logging.rb:68:在`block in tagged'
activesupport(4.1.8)lib / active_support / tagged_logging.rb: 26:在`tagged'
activesupport(4.1.8)lib / active_support / tagged_logging.rb:68:在'tagged'
railties(4.1.8)lib / rails / rack / logger.rb: 20:在`call'
actionpack(4.1.8)lib / action_dispatch / middleware / request_id.rb:21:在`call'
rack(1.5.2)lib / rack / methodoverride.rb: 21:在'call'中
rack(1.5.2)lib / rack / runtime.rb:17:在`call'
activesupport(4.1.8)lib / active_support / cache / strategy / local_cache_middleware。 rb:26:在`call'中
rack(1.5.2)lib / rack / lock.rb:17:在`call'中
actionpack(4.1.8)lib / action_dispatch / middleware / static。 rb:84:在`call'
rack(1.5.2)lib / rack / sendfile.rb:112:在`call'
railties(4.1.8)lib / rails / engine.rb: 514:在`call'
railties(4.1.8)lib / rails / application.rb:144:在`call'
rack(1.5.2)lib / rack / lock.r b:17:在`call'
rack(1.5.2)lib / rack / content_length.rb:14:在`call'
rack(1.5.2)lib / rack / handler / webrick。 rb:60:在'service'中
c:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/webrick/httpserver.rb:138:在'service'中
c:/ RailsInstaller / Ruby2。 1.0 / lib / ruby​​ / 2.1.0 / webrick / httpserver.rb:94:在`run'
c:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/webrick/server.rb:295: in`block in start_thread'


渲染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)
渲染c:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/actionpack-4.1.8 / lib / action_dispatch / middleware / templates / routes / _
route.html.erb(1.0ms)
渲染c:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems /actionpack-4.1.8/lib/action_dispatch/middleware/templates/routes/_
table.html.erb(9.0ms)
渲染c:/RailsInstaller/Ruby2.1.0/lib/ruby/gems /2.1.0/gems/act ionpack-4.1.8 / lib / action_dispatch / middleware / templates / rescue /
routing_error.html.erb in rescue / layout(46.1ms)


开始GET/ javascripts /default.jsfor 127.0.0.1 at 2015-02-27 02:14:58 -0600

ActionController :: RoutingError(没有路由匹配[GET]/javascripts/default.js) :
actionpack(4.1.8)lib / action_dispatch / middleware / debug_exceptions.rb:21:in`call'
actionpack(4.1.8)lib / action_dispatch / middleware / show_exceptions.rb:30:in `call'
railties(4.1.8)lib / rails / rack / logger.rb:38:在`call_app'
railties(4.1.8)lib / rails / rack / logger.rb:20 :在`block in call'中
activesupport(4.1.8)lib / active_support / tagged_logging.rb:68:在`block in tagged'
activesupport(4.1.8)lib / active_support / tagged_logging.rb :26:在`tagged'
activesupport(4.1.8)lib / active_support / tagged_logging.rb:68:在'tagged'
railties(4.1.8)lib / rails / rack / logger.rb :20:在`call'
actionpack(4.1.8)lib / action_di spatch / middleware / request_id.rb:21:在`call'
rack(1.5.2)lib / rack / methodoverride.rb:21:在`call'
rack(1.5.2)lib / rack / runtime.rb:17:在`call'
activesupport(4.1.8)lib / active_support / cache / strategy / local_cache_middleware.rb:26:在`call'
rack(1.5.2) lib / rack / lock.rb:17:在`call'
actionpack(4.1.8)lib / action_dispatch / middleware / static.rb:84:在`call'
rack(1.5.2) lib / rack / sendfile.rb:112:在`call'
railties(4.1.8)lib / rails / engine.rb:514:在`call'
railties(4.1.8)lib / rails / application.rb:144:在`call'
rack(1.5.2)lib / rack / lock.rb:17:在`call'
rack(1.5.2)lib / rack / content_length.rb:14:在'call'中
rack(1.5.2)lib / rack / handler / webrick.rb:60:在'service'
c:/RailsInstaller/Ruby2.1.0/lib/ ruby / 2.1.0 / webrick / httpserver.rb:138:在`service'
c:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/webrick/httpserver.rb:94:在`run'
C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/webrick/s erver.rb:295:在`block in start_thread'


渲染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)
渲染c:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems /actionpack-4.1.8/lib/action_dispatch/middleware/templates/routes/_
route.html.erb(2.0ms)
渲染c:/RailsInstaller/Ruby2.1.0/lib/ruby/gems /2.1.0/gems/actionpack-4.1.8/lib/action_dispatch/middleware/templates/routes/_
table.html.erb(1.0ms)
渲染c:/RailsInstaller/Ruby2.1.0 /lib/ruby/gems/2.1.0/gems/actionpack-4.1.8/lib/action_dispatch/middleware/templates/rescues/
routing / error.html.erb in rescue / layout(35.8ms)

当我更改stylescheet_link_tag和javascript_include_tag以使用:default而不是'default'时,也会发生此错误。



这个错误似乎是因为/javascripts/default.js不存在xist,所以我找到了这两篇文章说的:default不再支持。



删除链接发送获取代替删除在Rails 3视图中



在将'default'更改为'application'后,出现以下错误。



views / layouts / application.html.erb头部分如下。

 < head> 
< title> Myrubyblog< / title>
<%= stylesheet_link_tag'application',media:'all','data-turbolinks-track'=> true%>
<%= javascript_include_tag'application','data-turbolinks-track'=>真%GT;
<%= csrf_meta_tags%>
< / head>

这给了我错误

 在2015-02-27 02:26:28 -0600 
开始GET/ postsfor 127.0.0.1 ActiveRecord :: SchemaMigration Load(1.0ms)SELECTschema_migrations。* FROMschema_migrations
通过PostsController进行处理#index为HTML
后期加载(1.0ms)SELECTposts。* FROMposts
布局中的渲染帖/ index.html.erb /应用程序(12.0ms)
在2198ms中完成500内部服务器错误

ActionView :: Template :: Error(TypeError:Object不支持此属性或方法
(在c :/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/turbolinks-2.5.3/lib/assets/javascripts/turbolinks.js.coffee)):
3:< head>
4:< title> Myrubyblog< / title>
5:<%= stylesheet_link_tag'application',media:'all','data-turbolinks-track'=> true%>
6:<%= javascript_include_tag'application','data-turbolinks-track'=> true%>
7:<%= csrf_meta_tags%>
8:< / head>
9:< body>
app / views / layouts / application.html.erb:6:`_app_views_layouts_application_html_erb___474145341_51059580'


渲染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)
渲染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(1.0ms)
渲染c:/ RailsInstaller / Ruby2.1.0 / lib / ruby​​ / gems / 2.1.0 / gems / actionpack-4.1.8 / lib / action_dispatch / middleware / templates / rescue /
rescues / layout中的template_error.html.erb(20.0ms)

有谁知道我的问题是什么?



routes.rb

 

我的路线和gemfile可供参考。 code> Rails.application.routes.draw do
获得'categories / index'

得到'categories / edit'

get'catego ries / new'

获取'categories / show'

获得'home / index'

资源:posts
资源:类别

root'home#index'
end

gemfile

  source'https://rubygems.org'


#Bundle edge Rails改为:gem'rails',github:'rails / rails'
gem'rails','4.1.8'
#使用sqlite3作为Active Record的数据库
#gem'sqlite3'
gem'pg'
#将SCSS用于样式表
gem'sass-rails','〜> 4.0.3'
#使用Uglifier作为JavaScript资源的压缩器
gem'uglifier','> = 1.3.0'
#使用CoffeeScript for .js.coffee资产和视图
gem'咖啡栏','〜> 4.0.0'
#请参阅https://github.com/sstephenson/execjs#readme以获得更多支持的运行时
#gem'therubyracer',平台:: ruby​​

#使用jquery作为JavaScript库
gem'jquery-rails'
#Turbolinks使Web应用程序中的以下链接更快。阅读更多:https://github.com/rails/turbolinks
gem'turbolinks'
#轻松构建JSON API。阅读更多:https://github.com/rails/jbuilder
gem'jbuilder','〜> 2.0'
#bundle exec rake doc:rails在doc / api下生成API。
gem'sdoc','〜> 0.4.0',组::doc

#使用ActiveModel has_secure_password
#gem'bcrypt','〜> 3.1.7'

#使用独角兽作为应用服务器
#gem'unicorn'

#使用Capistrano进行部署
#gem'capistrano- rails',group::development

#使用调试器
#gem'debugger',group:[:development,:test]

#Windows不包括zoneinfo文件,因此捆绑tzinfo-data gem
gem'tzinfo-data',平台:[:mingw,:mswin]


解决方案

在两行中更改您的'默认值'返回到'应用程序'

gem file:

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

然后在命令提示符下运行:

 包更新咖啡脚本源

解决了我的问题,希望它能修复你的问题: p>

So my issue, from what I can tell, seems to be that ruby is not loading all of its javascript files as I am not getting confirm messages and link_to with method: :delete does nothing for me.

With the default set up provided to me rails new

views/layouts/application.html.erb head section is as follows.

<head>
  <title>Myrubyblog</title>
  <%= stylesheet_link_tag    'default', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag 'default', 'data-turbolinks-track' => true%>
  <%= csrf_meta_tags %>
</head>

Which gives me the error

Started GET "/posts" for 127.0.0.1 at 2015-02-27 02:14:57 -0600
  ActiveRecord::SchemaMigration Load (0.0ms)  SELECT "schema_migrations".* FROM "schema_migrations"
Processing by PostsController#index as HTML
  Post Load (1.0ms)  SELECT "posts".* FROM "posts"
  Rendered posts/index.html.erb within layouts/application (11.0ms)
Completed 200 OK in 76ms (Views: 54.0ms | ActiveRecord: 4.0ms)


Started GET "/stylesheets/default.css" for 127.0.0.1 at 2015-02-27 02:14:58 -0600

ActionController::RoutingError (No route matches [GET] "/stylesheets/default.css"):
  actionpack (4.1.8) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  actionpack (4.1.8) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (4.1.8) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.1.8) lib/rails/rack/logger.rb:20:in `block in call'
  activesupport (4.1.8) lib/active_support/tagged_logging.rb:68:in `block in tagged'
  activesupport (4.1.8) lib/active_support/tagged_logging.rb:26:in `tagged'
  activesupport (4.1.8) lib/active_support/tagged_logging.rb:68:in `tagged'
  railties (4.1.8) lib/rails/rack/logger.rb:20:in `call'
  actionpack (4.1.8) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
  rack (1.5.2) lib/rack/runtime.rb:17:in `call'
  activesupport (4.1.8) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
  rack (1.5.2) lib/rack/lock.rb:17:in `call'
  actionpack (4.1.8) lib/action_dispatch/middleware/static.rb:84:in `call'
  rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
  railties (4.1.8) lib/rails/engine.rb:514:in `call'
  railties (4.1.8) lib/rails/application.rb:144:in `call'
  rack (1.5.2) lib/rack/lock.rb:17:in `call'
  rack (1.5.2) lib/rack/content_length.rb:14:in `call'
  rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
  c:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/webrick/httpserver.rb:138:in `service'
  c:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/webrick/httpserver.rb:94:in `run'
  c:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/webrick/server.rb:295:in `block in start_thread'


  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/routes/_
route.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/routes/_
table.html.erb (9.0ms)
  Rendered c:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/actionpack-4.1.8/lib/action_dispatch/middleware/templates/rescues/
routing_error.html.erb within rescues/layout (46.1ms)


Started GET "/javascripts/default.js" for 127.0.0.1 at 2015-02-27 02:14:58 -0600

ActionController::RoutingError (No route matches [GET] "/javascripts/default.js"):
  actionpack (4.1.8) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  actionpack (4.1.8) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (4.1.8) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.1.8) lib/rails/rack/logger.rb:20:in `block in call'
  activesupport (4.1.8) lib/active_support/tagged_logging.rb:68:in `block in tagged'
  activesupport (4.1.8) lib/active_support/tagged_logging.rb:26:in `tagged'
  activesupport (4.1.8) lib/active_support/tagged_logging.rb:68:in `tagged'
  railties (4.1.8) lib/rails/rack/logger.rb:20:in `call'
  actionpack (4.1.8) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
  rack (1.5.2) lib/rack/runtime.rb:17:in `call'
  activesupport (4.1.8) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
  rack (1.5.2) lib/rack/lock.rb:17:in `call'
  actionpack (4.1.8) lib/action_dispatch/middleware/static.rb:84:in `call'
  rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
  railties (4.1.8) lib/rails/engine.rb:514:in `call'
  railties (4.1.8) lib/rails/application.rb:144:in `call'
  rack (1.5.2) lib/rack/lock.rb:17:in `call'
  rack (1.5.2) lib/rack/content_length.rb:14:in `call'
  rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
  c:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/webrick/httpserver.rb:138:in `service'
  c:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/webrick/httpserver.rb:94:in `run'
  c:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/webrick/server.rb:295:in `block in start_thread'


  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/routes/_
route.html.erb (2.0ms)
  Rendered c:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/actionpack-4.1.8/lib/action_dispatch/middleware/templates/routes/_
table.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/
routing_error.html.erb within rescues/layout (35.8ms)

This error also occurs when I change the stylescheet_link_tag and javascript_include_tag to use :default instead of 'default'.

This error seems to be occuring because /javascripts/default.js doesn't exist, so I found these two articles which said that :default is no longer supported.

Rails 4 link_to Destroy not working in Getting Started tutorial

Delete link sends "Get" instead of "Delete" in Rails 3 view

After changing 'default' to 'application' I got the following error.

views/layouts/application.html.erb head section is as follows.

<head>
  <title>Myrubyblog</title>
  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true%>
  <%= csrf_meta_tags %>
</head>

Which gives me the error

Started GET "/posts" for 127.0.0.1 at 2015-02-27 02:26:28 -0600
  ActiveRecord::SchemaMigration Load (1.0ms)  SELECT "schema_migrations".* FROM "schema_migrations"
Processing by PostsController#index as HTML
  Post Load (1.0ms)  SELECT "posts".* FROM "posts"
  Rendered posts/index.html.erb within layouts/application (12.0ms)
Completed 500 Internal Server Error in 2198ms

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)):
    3: <head>
    4:   <title>Myrubyblog</title>
    5:   <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
    6:   <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
    7:   <%= csrf_meta_tags %>
    8: </head>
    9: <body>
  app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb___474145341_51059580'


  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 (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/
template_error.html.erb within rescues/layout (20.0ms)

Does anyone have any idea what my issue is?

My routes and gemfile for reference if need be.

routes.rb

Rails.application.routes.draw do
  get 'categories/index'

  get 'categories/edit'

  get 'categories/new'

  get 'categories/show'

  get 'home/index'

  resources :posts
  resources :categories

  root 'home#index'
end

gemfile

source 'https://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'
gem 'pg'
# 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'

# 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]

解决方案

change your 'defaults' in both lines back to 'application'

insert this in gem file:

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

then run this in command prompt:

bundle update coffee-script-source

fixed my issues, hope it fixes yours too :)

这篇关于Ruby On Rails javascript_include_tag错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆