Ruby on Rails:为什么我的删除链接不起作用?

时间:2015-07-25 18:38:32

标签: javascript ruby-on-rails ruby ruby-on-rails-3 crud

我正在关注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

我的控制器:

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 %>

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

因此问题似乎是Windows与CoffeeScript不兼容。根据{{​​3}},将此gem添加到gemfile

gem 'coffee-script-source', '1.9.1'

那样,或者通过将.coffee.js.coffee文件重命名为常规.js文件(当然,将CoffeeScript代码更改为常规JavaScript),从代码中删除所有CoffeeScript。您还必须从gemfile删除任何CoffeeScript宝石。

顺便说一句,当您更新gemfile时,必须运行bundle install,然后重新启动服务器。