У меня есть партиал, который используется несколькими различными представлениями, и шаблон почтовой программы. Этот партиал должен попытаться использовать сеанс пользователя для хранения некоторой информации о состоянии, если это возможно.
Определить, существует ли сеанс, кажется небольшой проблемой. Внутри частичного вызова определенный? (Сеанс) всегда кажется верным во время рендеринга почты (это ошибка?), Но попытка доступа к «сеансу» каким-либо образом приводит к исключению «неопределенный метод».
По состоянию на теперь моя почтовая программа использует переменную экземпляра @for_mailer, чтобы сигнализировать, что этот партиал нужно отрисовывать по-другому, но это не кажется очень элегантным. wordTwo / xy / z слово-три word-four / lot / of / stuff Я мог бы использовать это регулярное выражение для сопоставления всего, кроме wordOne: (?! ...
Я хотел бы сопоставить все, кроме заданного слова (слов), поэтому, учитывая этот список:
wordOne
wordTwo/xy/z
word-three
word-four/lots/of/stuff
Я мог бы использовать это регулярное выражение для сопоставления всего, кроме wordOne:
(?!wordOne)\b.+
==>
wordTwo/xy/z
word-three
word-four/lots/of/stuff
Однако, если я хочу сопоставить все , кроме одного из слов, содержащих дефис / тире , то же регулярное выражение не работает, потому что дефис не является частью границы слова - это [a-zA-Z0-9 _]
Например,
some-regexp(word-four)
==>
wordOne
wordTwo/xy/z
word-three
И
some-regexp(word-four and word-three)
==>
wordOne
wordTwo/xy/z