我正在尝试将登录注销功能添加到我的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 %>
Run Code Online (Sandbox Code Playgroud)
的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 …Run Code Online (Sandbox Code Playgroud) 我是 Ruby On Rails 的新手,正在阅读本指南以构建基本应用程序。
当我尝试实现文档中提到的删除功能时,我看到了显示页面。
我的控制器中有以下方法:
def destroy
@article = Article.find(params[:id])
@article.destroy
redirect_to articles_path
end
Run Code Online (Sandbox Code Playgroud)
在我的页面下面一行:
<td><%= link_to 'Destroy', article_path(article),
method: :delete,
data: { confirm: 'Are you sure?' } %></td>
Run Code Online (Sandbox Code Playgroud)
现在,当我点击链接时,我在浏览器中看到以下 URL:
现在,在这种情况下,我看到的是显示屏幕,而不是收到警报消息,然后从我的页面中删除记录。
我已经关注了这篇 SO post - Rails 4 link_to Destroy not working in Getting Started tutorial
并证实
//= require jquery
//= require jquery_ujs
Run Code Online (Sandbox Code Playgroud)
元素在我的 application.js
请告诉我我在哪里做错了?
更新:
这是我的rake routes命令输出:
E:\Rails\blog\bin>rake routes
(in E:/Rails/blog)
Prefix Verb URI Pattern Controller#Action
welcome_index GET /welcome/index(.:format) welcome#index
articles …Run Code Online (Sandbox Code Playgroud)