ruby on rails - 无法删除(销毁)

时间:2015-04-08 10:33:35

标签: ruby-on-rails ruby destroy

由于某种原因,我无法在rails上删除ruby中的记录。 不幸的是,我尝试了许多解决方案无济于事。 (例如How to delete / destroy a record in rails?

application.erb的内容是:

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag %>
  <%= csrf_meta_tags %>
</head>
<body>

<%= yield %>

</body>
</html>

当我在html中打开时,它只显示以下css,它不会像上面的标签那样显示js。

<link data-turbolinks-track="true" href="/assets/scaffolds.css?body=1" media="all" rel="stylesheet" />
<link data-turbolinks-track="true" href="/assets/statuses.css?body=1" media="all" rel="stylesheet" />
<link data-turbolinks-track="true" href="/assets/application.css?body=1" media="all" rel="stylesheet" />
我的index.html.erb

 <h1>Listing statuses</h1>

    <table>
      <thead>
        <tr>
          <th>Name</th>
          <th>Content</th>
          <th colspan="3"></th>
        </tr>
      </thead>

      <tbody>
        <% @statuses.each do |status| %>
          <tr>
            <td><%= status.name %></td>
            <td><%= status.content %></td>
            <td><%= status.id %></td>
            <td><%= link_to 'Show', status %></td>
            <td><%= link_to 'Edit', edit_status_path(status) %></td>
            <td><%= link_to 'Destroy', status , method: :delete, data: { confirm: 'Are you sure?' } %></td>
          </tr>
        <% end %>
      </tbody>
    </table>

    <br>

    <%= link_to 'New Status', new_status_path %>

我正在排除故障当前无济于事,如果有人可以选择此代码中的任何错误,我将不胜感激。 :) js文件没有显示在页面的head部分,并且destroy函数不起作用,更不用说确认标记了。

更新:现在我收到此错误:

TypeError:Object不支持此属性或方法 Rails.root:[location]

如果我删除&#39; <%= javascript_include_tag %>&#39;它的功能虽然不完全(即不像第一次那样删除)

更新2 当我点击销毁按钮时,它只是重定向我只查看该特定状态,它不会销毁

application.js 内的

更新3 我有以下内容:

// This is a manifest file that'll be compiled into application.js, which will include all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
//
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// compiled file.
//
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
// about supported directives.
//
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .

更新4 我已将<%= javascript_include_tag %>更改为<%= javascript_include_tag 'default', 'data-turbolinks-track' => true %>并加载了js文件但是当我从源代码点击该js文件时,我收到路由错误。 我可以用任何可能的方法来解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

application.erb内,您需要将application.js文件包含javascript_include_tag,如下所示:

<%= javascript_include_tag 'application' %>

假设您jquery

中设置了jquery_ujsapplication.js