02 Apr

PostgreSQL и ROR 3.

После разработки нашего приложения на Ruby on Rails 3 , необходимо развернуть его на более мощном РСУБД. Одним из таких являеться PostgreSQL. Дополнительную информацию можно найти на официальном сайте и в википедии.
Собственно для перехода к дальнейшим действиям, подразуемваеться что у нас в системе установлен:
1) PostgreSQL.
2) Создан пользователь.
3) Создана таблица(Можно эксперементировать с стандартным пользователем – postgres)
Если же нет – то рекомендую обратиться на официальную страницу(для Debian – в Debian wiki), где подробнейшим образом описана установка PostgreSQL. Создание юзера и пустой базы данных можно найти в официальной документации.
И так, у нас уже установлен PostgreSQL, Ruby 1.9.2 , стандартный набор гемов, rvm, Ruby on Rails 3.
Чтоб связать Ruby и PostgreSQL, необходимо установить дополнительные пакеты,если они у нас еще не установлены: Read More

29 Jan

RedCloth для блога на Ruby on Rails.

RedCloth представляет собой плагин(gem) для добавления и отображения в постах маркеров языка разметки. Как известно при добавлении поста, текстовые данные отправляются и хранятся в базе данных. При обращении к нему контроллер посылает запрос, приходит ответ и контроллер направляет его в вид. Браузер отображает элементы текста.
Работа гема заключается в следующем. Он преобразует специально написанные разметки в различные элементы веб и передает их вместе с текстом браузеру. Пользователь получает код HTML из своего текста. Например текст написанный на простом языке разметки textile:

1
h1. Give RedCloth a try!
1
2
A *simple* paragraph with
a line break, some _emphasis_ and a "link":http://redcloth.org
1
2
3
4
* an item
<ul>
<li>and another</li>
</ul>
1
2
3
4
# one
<ol>
<li>two</li>
</ol>

Преобразуется в : Read More

01 Jan

Добавляем jQuery в наш Rails 3 проект.

Возможность добавлять плагины jQuery придает красоту и некоторую дополнительную функциональность в наш проект, делает его более привлекательным. По умолчанию в папке public/javascripts/ лежит файл javaScript библиотеки – rails.js, который генерируется rails при создании нами проекта. Он берет различные плагины с prototypejs.org. Изначально создавался для альтернативы jQuery. Но, который естественно уступает второму как по качеству, так и по количеству плагинов, удобстве их использованию и простоте. Собственно, поэтому и возникает необходимость его замены.
Для этого удаляем файлы:

1
rails.js, controls.js, dragdrop.js, effects.js и  prototype.js .

Скачиваем адаптер rails для работы с javascript c github –

1
http://github.com/rails/jquery-ujs/raw/master/src/rails.js

и библиотеку jQuery с официального сайта(на данный момент акутальна версия jquery-1.4.4.min.js).Сохраняем их в папке public/javascripts/.Добавляем в файл layout нашего проекта строчку:

<head>
<title>Blog</title>
<%= stylesheet_link_tag :all %>
<%= javascript_include_tag 'jquery-1.4.4.min', 'rails', 'application' %>
<%= csrf_meta_tag %>
</head>
07 Sep

XSS в Rails 3.

Много нового появилось в версии Rails 3.
Изменения коснулись буквально всех его частей, начиная с использованием новый версии ruby выше 1.8.7,  командный код (script/server), больше не приходиться возиться с конфигами gemov (включен Bundler)изменения в Action Pack, новой валидацией (новые правила написания кодов валидации), изменения в rout.rb, улучшена генерация scaffold, добавлены javascript, изменен rake и многое другое. Некоторые из них существенно не отличаются, но быстроту и эффективность написания кода явно увеличили. Одним словом, чуть облегчена жизнь разработчика. Особо переходить пока на 3 версию не рекомендуется, но поэкспериментировать с ним можно, для дальнейшего перевода своих проектов на него.
Изменена и встроенная защита от XSS-атак. А именно, если в версиях 2.3.х в файлах View нужно было не забывать дописывать:

1
 <%= h ... %>

то в Rails 3 можно смело менять его на:

1
<%= ... %>

Подробнее на картинке(кликабельна для увеличения).
А еcли же в некоторых случаях нужно вводить какой либо код, то вместо “h” нужно вписать “raw”.