2016-03-06 1 views
0

Я хотел бы сделать расширение, которое вводит код в определенный сайт, позволяя пользователю удалять несколько сообщений одновременно, вместо того, чтобы вручную удалять их по одному за раз ,Как вызвать метод data-method рельса = «удалить» через javascript

элемент, который, кажется, чтобы вызвать удаление выглядит следующим образом:

<a class="button delete link" rel="nofollow" data-method="delete" href="/relative-path">Yes</a> 

Теперь я ничего не знаю о рельсах, но как только я идентифицирую все эти элементы есть способ, которым я могу заставить их быть вызвана с помощью JavaScript?

Спасибо!

+0

вам нужно найти код, который ловит клики, и развернуть его, чтобы взять список URL-адресов вместо одного. Исключительные точки выхода chrome devtools идеально подходят для начала работы. – dandavis

ответ

0

Я создал простую форму, которая имеет флажок, который вы можете выбрать, какие строки вы хотите удалить, как это

= 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 в мой контроллер, который выглядит как

def delete_selected 
    User.where(id: params[:user_ids]).delete_all 
    redirect_to root_path 
end 

Что этот метод не является найти все user_ids, а затем называется delete_all

я сделал создать пользовательский маршрут, а как этот

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/

Смежные вопросы