Благодарю за подробный и полезный ответ! Но больше интересовало существование именно инструментов где и школьник сделать сможет. На подобие сервиса https://www.canva.com/ .
Moskus: я это знаю. По этому и уточнил "конструктор pdf-отчетов или что-то подобное". То есть инструмент с которым и "школьник" сможет собрать некий pdf отчет на основе существующей информации.
Была такая догадка, что в этом дело. Но хотелось услышать со стороны. Про Sidekiq тоже уже думал. Просто вот думаю какой вариант будет оптимальный. Что бы и нагрузкой на серваке что-то не положить и что бы ошибки можно было легко отлавливать и что бы все задачи завершались как можно быстрей. Просто если ограничивать количество, то следовательно будет обрабатываться дольше. Вопрос в том, где золотая середина? Если учесть что скорость выполнения очень важна, но и падение не допустимо.
sunnmas: вы правы у вас тут два варианта. Либо рендерить всю форму сразу и уже на стороне клиента отключать показывать поля. Либо как и было в примере рндерить на серваке через форму в партиале все детали, но просто при получение доставать все поля из form и подставлять их.
Есть что-то такое в документации еще https://github.com/plataformatec/simple_form/wiki/...
simple_fields_for - можете посмотреть в его сторону, может выйдет с помощью него сгенерить только поля.
Миха Панкратов: Не не не. Править исходники не надо. Вы должны написать свой файл стилей, который будет переопределять стандартные стили и просто подключите его после бутстраповского файла css. Что-то вроде своей мини-темы, чисто для календаря.
В бутстраповском так нельзя. Там через стили все задается.
Если нужны готовые темы, то их можете поискать, есть как платные так и бесплатные.
А если хотите стилизовать сами то смотрите стили например в исходниках и задавайте свои https://github.com/eternicode/bootstrap-datepicker...
sunnmas что значит сердцевина формы и полная форма? Разные наборы полей? А если имеется ввиду что не нужен лайаут, то как сказали уже выше, нужно просто отключить рендер лайаута и только партиал оставить.
Александр Евгеньевич: внимательней почитай документацию.)
ng-transclude предназначен что бы располагать в него содержимое элемента на котором навешана директива, а не сам элемент с дерективой! Например что бы вкладывать директиву в директиву. Такого поведения по умолчанию нету в ангуляре. И если надо обернуть, используется описаный мною способ, а transclude не нужен в вашем случае.
Если нужна директива обертка, то ее и надо указывать поверх импута
Если нужно обернуть и изменить импут. То тогда надо использовать replace и там уже в шаблоне подставлять импут обернутый в див. А все необходимые изменения для импута передовать через атрибуты.
Если нужно просто обернуть, то можно и так думаю
app.directive('rtNumber', function () {
return {
restrict: 'A',
replace: false,
link: function (scope, element, attrs, ctrl, transclude) {
var wrapper = angular.element('')
element.wrap(wrapper);
}
};
});