【问题标题】:rails / bootstrap delete link issue: data-method delete not workingrails / bootstrap删除链接问题:数据方法删除不起作用
【发布时间】:2013-06-23 19:16:32
【问题描述】:

我正在使用 gem 'twitter-bootstrap-rails' 作为 Rails 引导程序

我在一个页面上有几个链接 Rails 代码

<td><%= link_to 'Destroy', swimming_classschedule, method: :delete, data: { confirm: 'Are you sure?' } %></td>

 <li> <%= link_to "Logout", destroy_user_session_path, method: :delete, :class => 'navbar-link'  %> </li>

html代码:

     <a href="/users/sign_out" class="navbar-link" data-method="delete" rel="nofollow">Logout</a>

<td><a href="/swimming/students/1" data-confirm="Are you sure?" data-method="delete" rel="nofollow">Destroy</a></td>

      <td><a href="/swimming/students/3" data-confirm="Are you sure?" data-method="delete" rel="nofollow">Destroy</a></td>

每当我单击删除学生时,我都会退出。我完全糊涂了

【问题讨论】:

  • 如果您删除注销链接,会发生什么?你用设计?日志不是说WARNING: Can't verify CSRF token authenticity

标签: ruby-on-rails ruby-on-rails-3 twitter-bootstrap


【解决方案1】:

我遇到了同样的问题。我在论坛上读到这是由于 javascript 问题。

在 application.js 中,我之前删除了原始文件,因为我认为不需要它们,因为我使用的是 bootstrap.js。我将它放回文件中,现在删除方法再次起作用!

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require bootstrap
//= require_tree .

【讨论】:

  • 我只在jquery之后添加了jquery_ujs,这是负责的
  • 嗨@juanpastas,感谢您的评论!我在 jquery 之后添加了jquery_ujs,然后它就可以完美运行了。
  • 就我而言,我必须做一些不同的事情。我将此添加到我的 application.js 文件中:import Rails from '@rails/ujs'; Rails.start();
【解决方案2】:

基于这个答案Delete link sends "Get" instead of "Delete" in Rails 3 view

我加了

<%= csrf_meta_tag %>

在标题中,解决了问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 2012-09-18
    • 2022-09-24
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多