2015-03-10 2 views
0

(Новое в RoR) У меня есть link_to в моем файле erb.Link_to RoR с несколькими оповещениями

<%= link_to 'Delete', workflows_path+"/destroy/#{workflow.id}?folder=#{@folder_id}", :confirm => "Are you sure you want to delete '#{workflow.name}'?"%> 

Это вызовет запрос с запросом подтверждения.

Я хочу вызвать другое предупреждение в подтверждении (При нажатии OK) с запросом «Вы хотите удалить подпапки?» С опцией «Да» или «Нет» и передать его моему контроллеру в виде логического (или любой тип)

(если они выбирают, нет, я бы перенаправить вложенные в родительский каталог)

есть ли более простой способ сделать это?

+0

почему использование 'workflows_path' и чем добавить к этому строку? –

ответ

0

для того, чтобы получить двойное подтверждение, вам понадобится javascript.

дать свою ссылку класс CSS, как «Перепроверьте-технологические процессы»

затем добавить JavaScript на страницу

$(document).ready(function(){ 
    $("a.double-check-workflows").on('click', function(){ 

    if confirm("first thing to ask"){ 
     target_url = $(this).attr("href") 
     if confirm("second thing to ask"){ 
     target_url = target_url+"&your_other_param=1" 
     } 

     window.location = target_url 

    }else{ 
     return false 
    } 

    }) 
}) 

удалить опцию: подтвердить от помощника связи, хотя вызывают JS Виль обрабатывать что

редактировать

вы действительно должны использовать вспомогательные маршруты для создания полного URL вместо добавления Params в виде строки, как вы отправили

вы могли бы добавить «параметров delete_sub_folders», который по умолчанию к ложному/0, а затем заменить его в JS с .Привернуть(), чтобы установить его к истинному/1, если второе подтверждение возвращает истину

+0

Спасибо @Friends Systems. Это имеет смысл. Чтобы узнать больше, я получал исключение «Не функция», когда я использовал метод «on» в jQuery. Поэтому я изменил его на метод click ($ («a.double-check-workflows»). Click (function())) . Исключено. Но функция по-прежнему не вызывается при нажатии ссылки. (Я попытался отладить ее с помощью предупреждений). – JmG

+0

Вот мой оператор link_method. <% = link_to 'Удалить', workflows_path + "/ destroy/#{workflow.id}?folder=#{@folder_id}",: class => 'double-check-workflows'%> – JmG

+0

, пожалуйста, добавьте полный javascript вы используете ... –