Ruby & Rails: веб-разработка с удовольствием

Все материалы
Нужно переписать сайт http://www.pentaxnews.ru/ -1
0 комментариев ![]() Продолжая цикл приятных мелочей хочу поведать тем кто еще не знает конструкцию returning и освежить в памяти тех кто уже знаком с ней. Нередко при написании rails приложения возникает потребность получить объект, что-то с ним сделать и возвратить вновь полученное значение. Это можно сделать следующим образом:
def change_state(object_id, new_state) object = find(object_id) object.state = new_state object.save object end
С помощью констркции returning данная задача приобретает более красивый внешний вид:
def change_state(object_id, new_state) returning find(object_id) do |object| object.state = new_state object.save end end Таким образом код становится более понятным и легко читаемым. Думаю в проекте каждого рельсовика встречались места, где нужно провести какое-то действие с объектом, но объекта может и не быть (object == nil), проверки вида current_user && current_user.admin? или post && post.author == user не очень красиво выглядят. Недавно я наткнулся на очень маленький, но безумно приятный метод try, который преобразовывает написанное выше в следующие конструкции: current_user.try(:admin?) post.try(:author) == user Я думаю, что это делает код намного более красивым, при сохранении логики (для объекта nil try вернет nil, а для непустого объекта - результат выполнения инструкции). Всем, кто еще не использует данную конструкцию в своих проектах - советую обратить на нее особое внимание. При настройке Rails 3 приложения в связке с Apache + Passenger столкнулся с маленькой коварной засадой: необходимо было, чтобы одно из приложений запускалось в development-окружении, для этого раньше использовалась опция RailsEnv development, но новые рельсы не подхватывают данную настройку.
Читать полностью Добрый день! Провожу исследование на тему «На что ориентируется заказчик при выборе Большое спасибо за помощь! Параллельно пытаюсь получить ответы в группах гугла, если кому интересно вот ссылка: http://groups.google.com/group/ror2ru/browse_thread/thread/181e7f0157a1d27 С уважением,
Читать полностью Сегодня изучая исходные коды Ruby on Rails столкнулся с такой, на мой взгляд, очень полезной штукой. Предположим, что у вас есть функция, которая может принимать на вход как единственное значение, так и массив. Соотвественно в зависимости от этого имеем две ветки обработки:
Читать полностью У людей, которые только начинают изучать язык Ruby, часто возникает вопрос, а что же такое блок, как им пользоваться, и в чём отличие блока от таких сущностей как proc и lambda. В этой статье я попытаюсь ответить на данный вопрос. Читать полностью Требуется человек умеющий писать тесты, дружащий с линуксом и понимающий javascript. Так же необходимо уметь пользоваться git, capistrano,redmine. Теоретически можно и начинающих - но только самостоятельных,т.к. нянек нет. Идеальный вариант из Калининграда, но на удаленку тоже нужны. Высылайте резюме на dima85@mail.ru Так же пишите желаемую оплату в час(неделю,год, сдельно - кому как нравится). Для того, чтобы дать возможность пользователю кастомизировать внешний вид в нашем проекте, мы используем liquid-шаблоны. Подробнее о том, что это такое можно почитать тут. Все бы хорошо, но, к сожалению, по liquid-у очень мало документации, то есть если вы хотите обрезать строку или сложить два числа с помощью liquid-а - то сделаете это без особых затруднений, почитав wiki, но если хотите сделать что-то посложнее - то вполне возможно столкнетесь с некоторыми трудностями. В данной статье, мне хотелось бы рассказать, с какими трудностями мы столкнулись в нашем проекте и как из забороли. Читать полностью |
Облако тегов
#rails
amazon web services
array
blocks
bootstrapping
closures
cloud computing
console
container
education
email
emerge
fiber
finders
gentoo
Getting Real
helper
hosting
JavaScript
jquery
lambda
lazy
liquid
metaprogramming
monkey patching
passenger
pipeline
plugin
proc
qsort
rails
rails 3
returning
ror
ruby
sass
serialize
snippets
tricks
tutorials
ubuntu
views
боевые искусства
вакансия
искусство
массив
мысли вслух
работа
Работа
фриланс
Ближайшие события
![]() февраль 2021
![]()
Пн
Вт
Ср
Чт
Пт
Сб
Вс
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
|