вторник, 23 октября 2007 г.

Динамическая смена layout

Вот здесь есть пример динамической смены layout (в разделе types of layouts)
http://api.rubyonrails.org/classes/ActionController/Layout/ClassMethods.html#M000131
В кач-ве задачки на изучение руби - как это работает?

Привязывание одного layout к разным контроллерам

Можно ли привязывать один и тот же layout к разным контроллерам, и насколько это общепринятая практика?

Какую информацию стоит хранить в session


Marshalling/Unmarshalling the object from/to the session
with every hit is more expensive than simply querying the database. Add
to that the extra code you've got to add everywhere to make sure that
the session[:member] stays current with it's twin in the database, and
that if you ever change the internal structure of Member, that you've
got to remember to blow away all the sessions when you deploy the new
version, etc, etc.

Отсюда

Т.е. есть мнение, что быстрей хранить в сессии id и запрашивать БД, нежели хранить в сессии объект с несколькими нужными полями и каждый раз его десериализовывать.
Еще аргумент - при некоторых изменениях будут хериться все сессии.

Генерация форм

Существуют разные подходы к генерированию форм:
С использованием form_for

С использованием form_tag

Authentification

Популярный плагин для аутентификации:

Acts+as+Authenticated

http://wiki.rubyonrails.org/rails/pages/Acts_as_authenticated

суббота, 20 октября 2007 г.

Оформление

Добавил следующий кусок в html-шаблон:

/*-- Дополнительные стили для выделения инф-ии --*/


.question {
color: #FF4499;
margin: 2px;
}

.answer {
color: #AABBFF;
margin: 2px;
}
/*для цитат с других ресурсов*/
.quote {
color: #AAAAAA;
font-style:italic;
}
.code {
background: #CCCCCC;
}


Общая идеология: сделать простую и понятную цветовую схему (цветов не более 5ти), чтобы было легко разобраться в информации, которую мы постим. Все остальные цвета - убрать нах из оформления блога, чтобы было удобно читать.
http://api.rubyonrails.org/classes/ActionController/Base.html#M000178

The index and sign represent the two basic action archetypes used in Action Controllers. Get-and-show and do-and-redirect. Most actions are variations of these themes.


  1. На данный момент разумной кажется вот какая схема работы: есть, скажем контроллер BooksController (для вытаскивания информации из Books), контроллер UserController (для вытаскивания инф-ии из Users), и StoreController.
    Во View Store ссылка на регистрацию выглядит, как link_to :controller=>:UserController, :action=>:login, ... например. В UserController принято, после логина возвращать на главную страницу Store, например:

    ...blablabla
    redirect_to :controller=>:StoreController, :action=>:index

  2. Внимание вопрос: Как во view Store вытаскивать информацию из контроллера UserController?

пятница, 19 октября 2007 г.

Зацениваем новые технологии касаемо sharing knowledge.
Когда начнешь рубить рельсы, эта штука может пригодиться.

I got rythm - у меня в колонках играло, когда название придумывал.