А почему не Ruby (RoR), или не Scala (PlayFramework) или не Go (Martini) или не Javascript (Ember) или не Perl (Mojolicious) или не C++ (CppCMS) или не C# (ASP.NET MVC) или не Java (Spring) ?
Фёдор Сарафанов (osabio): бэм, кстати, никто не призывает использовать полностью - можно ограничиваться отдельными приемами. Посмотрите на SMACSS и увидите, что там подход абсолютно отличается от БЭМа, хотя идея та же.
Методолгии нужны априори. Объектно- , Аспектно-, Процедурно-, Функционально ... посмотрите сколько ориентированных программирований. Почему для HTML и CSS должно быть иначе? Потому что они немного более декларативны и имеют свои ограничения?
Это с точки зрения философии. С практической точки зрения - это стандартизированная структура проекта со всеми вытекающими: уменьшеается время вхождения новых участников, растет сопровождаемость.
Можно считать, что это некий очень серьезный стайл-гайд.
Методологией можно пренебречь, если:
- Срок разработки + поддержная проекта меньше N (например, месяц или полгода)
- Если на разработку проекта требуется не более двух людей
- Если у вас есть уверенность, что одна и та же команда будет всю жизнь сопровождать проект
- ...
Как видите, не использовать можно на сайтах-визитках и интернет-магазинах средней сложности.
И скорей всего, если вы будете долго работать над большим проектом и не перейдете на одну из методологий - то изобретете свою собственную. Которая скорей всего будет намного хуже и менее стандартизирована. Со всеми вытекающими
Castiel: что значит вытащить? то есть, значения там есть, но тем способом, что вы их получаете - ничего не происходит? Тогда смотрите, как я написал, про строчные ключи. Переменной, тем более глобальной, все равно - в блоке вы ее используете или в методе
Я заранее извинился, а лички на тостере, к сожалению, нет. Информации для связи в аккаунте нет. И мне действительно интересна суть вопроса: может быть это на мою судьбу повлияет :)
Антон: в app должны быть ассеты (активы) - вещи, которые часто изменяются Вами. В папке vendor/assets предполагается что будут лежать сторонние библиотеки (уже добавлено в автозагрузку, вроде как). А в паблик предполагается, что будет лежать то, что не изменяется (вообще, что б кеш на них не влиял) - шриты хорошие кандидаты.
Александр: роутинг как в роутинге. Можете думать о нем в простейшем смысле, как сущности, которая получает запрос и основываясь на предопределенных регулярных выражениях решает, какой код выполнить
rorlearning: offsite payments - довольно недавно отделился, документации как таковой нет. По актив мерчанту только, скорей всего. Какие-то русские платежки видел, но это не мейнстрим.
Вообще, в этом должен быть заинтересован провайдер. Если провайдер не заинтересован - может оказаться не так просто все это реализовать.
Фёдор Ананин: не за что. Возьмите сначала за правило считать, что 99% проблем,с которыми Вы сталкиваетесь - уже решены миллион раз. После этого, оглянитесь вокруг и поищите похожую проблему (в конкретном случае, пускай это будет Яндекс.Маркет). Попробуйте масштабировать свое решение до уровня "цели". Если кажется, что это ну оооооочень сложно, пересмотрите подход и повторите.
Действительно, самая большая потеря времени - это когда гуглишь не то, что нужно, а наскоро придуманное решение, основанное на своем опыте - кажется лучшим и единственным вариантом. И от этого нужно избавляться как можно раньше.
Shaks:
1. Интернет-магазин (да и фильтры в частности) - типичная, давно решенная задача. nosql - нишевое решение
2. Даже если и появятся специфические условия (хоть и маловероятно), автору перед nosql нужно знакомиться со стандартными методами шерения.
3. С учетом того, что количество фильтров - ограничено (у каждой машины фильтр "цвет" представляет одно и то же) - будет большое дублирование информации.
А что здесь, на Ваш взгляд, устаревшего?
Варианты то не костыли городят, а, мне кажется, ясно дают понять, что используются для отображения в разных разрешениях.
Denis G: Не до конца понял, что значит "create только в экшене". Залейте куда-нибудь на pastie.org полный код контроллера (вместе со стронг-парамс куском), можно и с кодом модели на всякий случай.
Мне DJ в свое время не подошел тем, что он постоянно висит в памяти. И постоянно растет необходимая ему память. То есть, сделали вы какую-то задачу, которой надо выделить 2 гига памяти, а следующие сто - будут требовать 100 мегабайт. Но 2 гига никак не уменьшатся, пока не перегрузить весь процесс DJ.
Да и вообще, нет у него плюсов перед другими очередями. А тот факт, что для других нужно тянуть redis - это скорее плюс. Он и работает быстрее, и велика вероятность, что в будущем понадобится redis сам по себе.