На днях пришлось изменить спартанский вид странички 404 «Not found» сервера nginx на более человеческий.
Для этого открываем файл старнички в любимом редакторе Читать далее Страничка 404 «Не найдено» для NGNIX
Рубрика: Web-хитрости
sh: 1: bundle: not found
Сконфигурировал новый сервер и попытался загрузить туда с помощью Capistrano одно приложение.
При команде
cap deploy
появляется сообщение типа: Читать далее sh: 1: bundle: not found
Twitter Boostrap + modal + AJAX
Вот такой конгламерат пришлось мастерить. Суть:
С помощью Twitter Boostrap и функции modal() создал формуляр, загружаемый посредством AJAX (data-remote = true). Полученный формуляр должен проверяться с помощью библиотеки ClientSideValidations.
Проблема заключается в том, что Twitter Boostrap при переключении режима в видимый использует собственные events, (например ‘shown’), которые сбрасывают другие (в моем случае от client side validators) и потому скрипт ClientSideValidations в этом формуляре не работает.
Для того, чтобы подключить ClientSideValidations к загруженному через AJAX формуляру, согласно документации я активировал client side validators в удаленной загрузке формуляра
new.js.erb
$('#ajax_form_content').html("<%= escape_javascript( render(partial: 'form', locals: { stock: @stock }) )%>"); $('#ajax_form').modal(); $('.modal').on('shown', function(){ $(this).find('input:visible:first').focus().end().find('form').enableClientSideValidations(); });
Тем не менее возникала ошибка ClientSideValidations ‘settings not found’
Проблема решилась просто: нужно было добавить
$("form[data-validate]").validate()
в этот же скрипт, или более элегантно
$("body").bind "ajax:success", -> $("form[data-validate]").validate() if $("form[data-validate]").length
в соответственный coffee-script
Доступ к API-интерфейсу через HTTP POST
Как-то понадобилось протестировать API-interface «в ручную». C GET проблем нет —можно просто задать нужные параметры в адресной строке любимого броузера. А вот если нужно отправить данные через POST, то всё становится немного сложнее.
Для решения проблемы я воспользовался любимым curl
Для передачи данных формуляра через POST:
curl -X POST -d "token=RqpnhswuquS6N0PM86dDOQ&user=john&password=badpassword" http://host:port/controller/123.xml
Если это REST через PUT (например, RubyObnRails API), то дабавляем в параметры _method=PUT
curl -X POST -d "_method=PUT&token=RqpnhswuquS6N0PM86dDOQ&user=john&password=badpassword" http://host:port/controller/123.xml
Установка php 5.3/5.4 на Snow Leopard/Lion
На сайте http://php-osx.liip.ch/ нашел способ быстро и безболезненно установить актуальную версию PHP. Установка актуальной PHP 5.3 сводится к выполнению команды в окне терминала
curl -s http://php-osx.liip.ch/install.sh | bash -s 5.3
А PHP 5.4 соответственно этой командой.
curl -s http://php-osx.liip.ch/install.sh | bash -s 5.4
Правда лично у меня что-то пошло как всегда криво и после успешной установки пакетов скрипт не смог перезаписать пути. Мне пришлось подправить их ручками, а также включить путь к библиотеке
LoadModule php5_module /usr/local/php5/libphp5.so
убрав коммнетарий. После этого все пошло как надо.
Другой адекватный вариант с использованием MacPorts, который также у меня работает, описан здесь: https://gist.github.com/2721719