首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过javascript触发rail的data-method="delete“

如何通过javascript触发rail的data-method="delete“
EN

Stack Overflow用户
提问于 2016-03-06 10:54:48
回答 1查看 84关注 0票数 0

我想做一个扩展,注入代码到一个特定的网站,允许用户删除一次多个帖子,而不是必须手动删除它们一次一个。

似乎触发删除的元素如下所示:

代码语言:javascript
复制
<a class="button delete link" rel="nofollow" data-method="delete" href="/relative-path">Yes</a>

现在我对rails一无所知,但是一旦我确定了所有这些元素,有没有一种方法可以通过javascript触发它们?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2016-03-06 12:34:31

我创建了一个简单的表单,其中有一个复选框,您可以选择要删除的行,如下所示

代码语言:javascript
复制
= simple_form_for :user, :url => delete_selected_path, :method => :delete do |f|
  %table
    %tr
      %td Select
      %td Name
    - users.each do |user|
      %tr
        %td= check_box_tag 'user_ids[]', user.id 
        %td= user.name
    %tr
      %td
      %td= f.button :submit, 'Delete Selected'

我还在我的控制器中创建了一个名为delete_selected的新me,如下所示

代码语言:javascript
复制
def delete_selected
  User.where(id: params[:user_ids]).delete_all
  redirect_to root_path
end

此方法的作用是查找所有的user_ids,然后调用delete_all

我也创建了一个自定义路由,如下所示

代码语言:javascript
复制
match "/pages_delete_selected" => "pages#delete_selected", :as => :delete_selected, via: :all

您可以将:all更改为:delete或任何其他值以使其更具体

你可以在这里找到这个例子的所有源代码https://github.com/mzaragoza/sample_delete_multiple_records_at_once

和即将到来的实时预览https://sample-delete-multiple-records.herokuapp.com/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35822561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档