суббота, 20 июня 2015 г.

Rails preload screen

Пилим паршиал . В нем пишем css-свойства будущего прелоад скрина, в том числе и путь до гифки

views/shared/_preloader.slim

#loading style='top: 0; height: 100%; width: 100%;position: fixed; 
background: #1C2126 no-repeat center center ;
background-image: url("#{image_path('liquid-bubbles.gif')}");
z-index: 2000000; transition: all 0.3s linear; opacity: 1'on'


Немного кофе %)

assets/javascripts/preloader.coffee

is_old_ie = !window.addEventListenerload_event = if is_old_ie then 'onload' else 'load'

bind = (event, callback) ->
  if is_old_ie    if event == load_event      window.attachEvent event, callback
    else
      document.attachEvent event, callback
  else
    if event == load_event      window.onload = callback
    else
      document.addEventListener event, callback, false

bind load_event, ->
  $_spinner = $('#loading')
  $_spinner.css('opacity', '0')
  setTimeout ->
      $_spinner.css 'display', 'none'
    , 400


подключаем наш паршиал в 


views/layouts/application.slim 

И в остальных лэйаутах, если есть.

doctype html
html  head    title SomeTitle
    = javascript_include_tag 'preloader'   
    meta name='viewport' content='width=device-width, initial-scale=1'
    = csrf_meta_tags
    = favicon_link_tag 'favicon.ico'
  body    = render 'shared/preloader'


И добавляем в config/initializers/assets.rb

Rails.application.config.assets.precompile += %w( 
preloader.js
)

Все, наш прелоад скрин готов.

Перезагрузка сервера обязательна!

вторник, 24 июня 2014 г.

Развертывание postgresql на новой машине.


sudo apt-get install postgresql -устанавливаем БД.

sudo -u postgres psql - заходим в консоль psql, пользователем postgres.

Затем прописываем в консоли:

ALTER USER postgres with encrypted password  'Пароль_для_пользователя_postgres';

После этого идем /etc/postgresql/9.3/main/pg_hba.conf - у меня стоит 9.3 postgresql, у вас может путь немного отличаться, в зависимости от версии БД. И меняем peer на md5.

local   all             postgres                                md5


После того, как вы изменили конфиг, postgresql нужно перезапустить.

sudo /etc/init.d/postgresql restart

В принципе можно работать с postgresql.

вторник, 10 июня 2014 г.

Rails 4. will_paginate. rails_admin. undefined method per

Столкнулся с такой проблемой, что если совмещать пагинатор 'will_paginate' и админку 'rails_admin', то последний начинает ругаться, что не понимает метод 'per'. Решил проблему следующим образом.
Создаем файл config/initializers/will_paginate.rb, и там прописываем несколько строк:

if defined?(WillPaginate)
  module WillPaginate
    module ActiveRecord
      module RelationMethods
        def per(value = nil) per_page(value) end
        def total_count() count end
      end
    end
    module CollectionMethods
      alias_method :num_pages, :total_pages
    end
  end
end


Перезапускаем сервер и наслаждаемся пагинатором и админкой.
P.S. Решение нашел на просторах stackoverflow.com

среда, 7 мая 2014 г.

ep.1


 Первый полет.

 Разрабатываю проект для фестиваля. Второй месяц топчусь практически на месте.  Нехватка опыта распространилась на все ответвления проекта. Как на проектную часть, так и на функционал с версткой. 
 Это связано(кстати довольно распространено) с тем, что заказчик зачастую сам не знает, чего хочет. Конечно я сам виноват, что ввязался, но мне нужно было с чего-то начать. 
 О том, с чего все начиналось в проекте чуть позже, т.к. сейчас этот блог служит в роли заметок и памяток для меня и может для кого-то в будущем.
 Итак, ближе к делу:
  Первая проблема, с которой столкнулся сегодня - гемы конечно хорошо, но не вседа гем сделан качественно и хоть с какой-то документацией. Вторая проблема - малый опыт работы с DSL RoR, сказывается долгое скуривание мануалов/гугления по работе с гемами и их работой в системе. Но если есть цель, не важно, сколько впереди проблем, будем копать дальше. На сегодня думаю, хватит. Have a nice day!

                                                                                                       Ежик на рельсах.