Максим: в еще не научились понимать вопросы совсем новичков. Он получил то, о чем попросил. Если бы просьба была "Объясните алгоритм", то был бы развернутый ответ. А тут вопрос по сути в том, почему в консоли не выводится результат.
artem20152000: я вам про это и говорю. Возвращайте
{
email: ["укажите email"],
password: ["не менее 6 символов"]
}
Навешиваете id на элементы форм, соответсвенно это будет id="email" и id="password". А дальше просто бежите циклом по json-ответу и проставляете над каждым полем ошибку.
artem20152000: я не знаю как хорошо это сделать на jQuery. Это общая проблема этой библиотеки. Но однозначно могу сказать, что на клиенте это делать не правильно. Потому что на сервере придется хранить все эти же названия ошибок. А дублирование данных – это очень плохо.
Совет, сделайте валидацию через ajax только после ответа с сервера, а до этого блокируйте кнопку сабмита примерно так, как это делается например здесь lab.hakim.se/ladda
artem20152000: в ответ с сервера должен приходить json, где ключи – это айдишники полей формы, а значения – массив ошибок. Далее просто циклом это json обходится проставляет все ошибки.
artem20152000: валидация делается на сервере. В любом случае придется либо дублировать, либо отказываться от клиентской. А я делаю на ангуляре и это делается в пару строк.
OnYourLips: отнюдь. 1500 это минимальный уровень для компании, который позволит оставаться на плаву. Ведь автор хочет не хоумпейджи делать, раз выбирает рельсу. Поэтому его клиенты будут вполне платежеспособны. Но тогда и у его компании будут обязательства. Например штрафы за пропущенные сроки.
Frel: совокупно за проект редко когда оценивают. Это ведь большой риск. Вы должны платить зарплату сотрудникам. Поэтому здесь расчеты очень сложные и без должной сноровки вы просто разоритесь и останетесь должны.
По поводу дружелюбия -- не согласен) Тривиальные моменты делаются просто. По гуглокартам можно сразу нагуглить какое-то сложное решение, а в случае с яндексом придется обращаться в клуб и ждать ответа 1-3 дня, если его и дадут. Но тем не менее Яндекс.карты лично мне нравятся на много больше, чем гугловые или mapbox. Потому что они бесплатные и в плане производительности намного впереди:)
Пытался применить в крупном проекте. В продакшене была попоболь. В Standalone режиме он работает крайне нестабильно, а в интегрированном запустится только на EventMachine-сервере. Следовательно Unicorn, Passenger и Puma сразу отбрасываются. Thin для продакшена это дно.
Пришлось переписывать все на faye через private_pub. Ничуть не жалею.
Ну так собственно и вопрос был в том, как из контроллера повлиять на другую область видимости. Это самый универсальный подход. Директива в некоторых случаях может быть лишней прослойкой.
Siarhei Pashkevich: время жизни сервиса не ограничена текущим state. Он работает, а следовательно хранит свои поля и методы во всем жизненном цикле ng-приложения. Евгений Самойленко: можно обойтись и без сервиса, но не жадничайте никогда. Пусть лучше будет сервис. Впоследствие может понадобиться добавить какую-нибудь полезную функцию.
Siarhei Pashkevich: вам мой подход не подойдет. У меня связка ангуляра с rails assets pipeline. Но из общих советов: не пытаться филонить и сразу выносить сложные(и не очень) элементы интерфейсов в директивы. В сервисы выносить общие вещи. Для директив делать верстку строго по БЭМу. Не жадничать с контроллерами. Есть страница – обязательно для нее свой отдельный контроллер.
И самое главное, если вдруг заходите в тупик, из-за плохого кода, то не нужно пытаться написать местячковое решение поверх. Лучше убить 1 день/неделю на изменение архитектуры приложения и не знать проблем в дальнейшем.