繁体   English   中英

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

[英]Ruby on Rails: Why doesn't my delete link work?

我正在遵循Rails指南: http : //guides.rubyonrails.org/getting_started.html

并且我的index.html.erb中包含以下行:

 <%= link_to 'Destroy', team_path(team), method: :delete, data: { confirm: 'Are you sure?' } %>

但这是行不通的。 它只是转到显示页面。

供您参考,这是我的route.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 %>

有人可以帮帮我吗?

看来问题在于Windows无法与CoffeeScript一起正常工作。 根据此问题 ,将此宝石添加到您的gemfile

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM