Coffeescript организация в моем приложении rails: некоторые js не стреляют

Интересный дизайн. Я вижу вашу потребность, но что вы собираетесь делать, когда требования немного меняются, так что в ответ на Foo.Epsilon app_1 должен отправить либо Bar.Gamma или Bar.Whatsit?

Решение, которое вы рассмотрели и отбросило как хакерское (помещая отношение в карту), кажется, дает вам гораздо большую гибкость и позволяет избежать вашей циркулярной ссылки. Он также сохраняет ответственность разделенной: сами типы сообщений не должны нести ответственность за знание их ответа, не так ли?

0
задан Roberto Pezzali 31 December 2018 в 15:29
поделиться

1 ответ

Это - старый вопрос, но я предполагаю, что это не работает, потому что Вы используете turbolinks, и эти $('.file .file-input') только активируется, если что-нибудь соответствующее тому селектору будет доступно на странице, когда js выполняется (так на первой загрузке).

Вместо этого пишут Ваш код следующим образом:

$(document).on "change", ".file .file-input", -> 

Это получит любой change на уровне документа и проверит, применяется ли селектор. Таким образом, это означает, что обратный вызов будет всегда работать как ожидалось, независимо от содержания на странице, которая могла бы / быть динамично добавленной позже.

0
ответ дан 4 September 2019 в 04:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: