Ruby интерполяция в JavaScript не работает в 1 из 2 случаев

0

Я пытаюсь интерполировать некоторый код ruby внутри тега в нижней части моего файла html.erb. По какой-то причине первый пример (заканчивающийся на company_email) работает как шарм, а второй, по неизвестной причине, возвращает строку {@custom_landing_page_company.name}. Может ли кто-нибудь объяснить, почему тот же метод интерполяции работает в одном случае, а не в другом? Спасибо.

$.validator.addMethod("biogenEmail", function(value, element) {
  return value.indexOf("#{@custom_landing_page_company.company_email}") !== -1;
 }, "Please enter a valid #{@custom_landing_page_company.name} email address");
Теги:
erb

1 ответ

0
Лучший ответ

Это все равно будет работать:

$.validator.addMethod("biogenEmail", function(value, element) {
  return value.indexOf("<%= @custom_landing_page_company.company_email %>") !== -1;
}, "Please enter a valid <%= @custom_landing_page_company.name %> email address");

Я использовал <%= %> вместо #{}.

Я не уверен, почему второй не работает, но я обнаружил, что использование <%= %> в erb всегда работает.

  • 0
    Ага. Работает. Думал, что я уже попробовал это. Теперь я чувствую себя глупо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню