我正在尝试将登录注销功能添加到我的rails应用程序中。为此我添加了bcrypt
gem用于密码加密,还访问控制器。现在当我在本地运行它时,我收到一条错误消息。在添加上述功能之前,我的应用程序运行良好。
错误讯息:
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):
<head>
<title>PostApp</title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track'=>true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track'=>true %> ----> Line 8
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<%= csrf_meta_tags %>
的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'
我不知道我得到的是什么类型的错误。知道可能会发生什么吗?
谢谢, Chuchoo
答案 0 :(得分:42)
在Windows上运行coffee-script-source 1.9.0时出现问题。
似乎你必须将它添加到你的gemfile中:
gem 'coffee-script-source', '1.8.0'
然后做
bundle update coffee-script-source
答案 1 :(得分:2)
安装node.js x86 版本(非x64版本,即使有64位计算机)您可以从https://nodejs.org/en/download/下载
所有其他答案都不是必要的。
安装node.js后,需要重新启动rails服务器和运行它的CMD shell,以更新它将看到的路径。
答案 2 :(得分:1)
我遇到了同样的问题,我通过将以下代码添加到config \ initializer \ assets.rb来修复它
Rails.application.config.assets.precompile += %w( application.css )
答案 3 :(得分:0)
只需在上面的代码段中注释此行即可解决我的问题。
A || B
不确定这是否是首选解决方案,但可以肯定地帮助了我前进。
答案 4 :(得分:-2)
@Chuchoo,评论<%=javascript_include_tag 'application', 'data-turbolinks-track'=>true %>
解决了这个问题。
对于那里的许多新手,有关如何获得解决方案的更多细节。
转到您的应用目录,然后从your_app&gt; app&gt; views&gt; layouts&gt; application.html.erb访问application.html.erb文件,并在第6行注释javascript。
<!--%= javascript_include_tag 'application', 'data-turbolinks-track' => true %-->
刷新你的页面,你很高兴。
答案 5 :(得分:-2)
取消注释(app / assets / javascripts / application.js)
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .
答案 6 :(得分:-3)
转到您的app目录,然后在app / views / layouts中打开application.html.erb文件,并注释这两行(第5和第6行),如下所示:
<!-- %= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> -->
刷新您的网页,您的问题就解决了!
答案 7 :(得分:-5)
你好我遇到了同样的问题你可以做到这一点:https://www.youtube.com/watch?v=N5i94L17KPo它现在适用于我。