我正在遵循 Rails 指南:http://guides.rubyonrails.org/getting_started.html
我的index.html.erb中有以下行:
<%= link_to 'Destroy', team_path(team), method: :delete, data: { confirm: 'Are you sure?' } %>
但是这不起作用;它只是进入显示页面。
供您引用,这是我的routes.rb:
Rails.application.routes.draw do
get 'bets/index'
root 'bets#index'
resources :teams
end
我的 Controller :
def destroy
@team = Team.find(params[:id])
@team.destroy
redirect_to teams_path
end
我的application.js:
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree
//= require jquery
//= require jquery_ujs .
我的application.html.erb:
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'defaults', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
请注意,我已尝试更改 <%= javascript_include_tag 'defaults', 'data-turbolinks-track' => true %>
至<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
,但这给了我以下错误:
Showing C:/Sites/BettingSite/app/views/layouts/application.html.erb where line #6 raised:
TypeError: Object doesn't support this property or method
(in C:/Sites/BettingSite/vendor/cache/ruby/2.1.0/gems/turbolinks-2.5.3/lib/assets/javascripts/turbolinks.js.coffee)
第 6 行是:<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
有人可以帮我吗?
最佳答案
看来问题在于 Windows 不能很好地使用 CoffeeScript。根据this question ,将此 gem 添加到您的 gemfile
中:
gem 'coffee-script-source', '1.9.1'
或者通过将 .coffee
或 .js.coffee
文件重命名为常规 .js
文件(当然,将您的 CoffeeScript 代码更改为常规 JavaScript)。您还必须从 gemfile
中删除所有 CoffeeScript gem。
顺便说一句,当您更新gemfile
时,您必须运行bundle install
,然后重新启动服务器。
关于javascript - Ruby on Rails : Why doesn't my delete link work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31629863/