Это регулярное выражение тоже должно работать:
<script(?:(?!\/\/)(?!\/\*)[^'"]|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\/\/.*(?:\n)|\/\*(?:(?:.|\s))*?\*\/)*?<\/script>
Он даже позволяет иметь «проблематичные» переменные строки, подобные этим внутри:
<script type="text/javascript">
var test1 = "</script>";
var test2 = '\'</script>';
var test1 = "\"</script>";
var test1 = "<script>\"";
var test2 = '<scr\'ipt>';
/* </script> */
// </script>
/* ' */
// var foo=" '
</script>
Он сглаживает ошибку jQuery и Prototype на этих ...
Редактировать 31 июля '17: Добавлены a) не захватывающие группы для лучшей производительности (и без пустых групп) и b) поддержка комментариев JavaScript.
У вас есть before_action
под названием set_task
в вашем контроллере. Это код, который будет выполняться до delete_all
. Если вы не хотите, чтобы он работал для delete_all
, добавьте , except: [:delete_all]
в строку before_action
:
пример:
# change this line somewhere near the top of your controller
before_action :set_task, except: [:delete_all]
Если где-то установлено before_action
еще как ApplicationController
, вы можете вместо этого добавить эту строку в TasksController
для того же эффекта:
skip_before_action :set_task, only: [:delete_all]