簡體   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