al_gon: именно так, как вы подумали, /inactive_orders. Особенно, если это ресурс (например, как вкладка почты: лучше сделать /inbox_emails, /unread_emails, etc вместо /emails?type=inbox.
Конечно, если у вас очень большой список фильтров - то приводить к REST-виду их никто не будет, но из этого и вытекает - что нет ни одного сколько нибудь популярного бизнес-приложения полностью соответствующего RESTful интерфейсу
al_gon: К сожалению, не существует ни одного сколько нибудь популярного приложения, полностью соответствующего RESTfull :)
Я просто к тому, что /active_orders - предпочтительнее /orders?active=true вне зависимости от контекста языка или фреймворка в плане ресурсного роутинга
al_gon: огорчу вас, но, хотя REST это очень глупый и сбивающий термин, и хотя с какой-то стороны
${host}/api/rest/orders?activ=true
походит под это определение, но более верным и Rails-way был бы вариант создать ресурс ActiveOrders и смотреть его индекс:
/active_orders
если вам необходимо, что бы регион шел первым, но так же поддерживать и с отсутствием региона, вам нужно заводить 2 ресурса:
resources :regions do
member do
resources :services
end
end
resources :services
Естественно, тип сервиса можешь быть как service_id, так и через to_param
Не совсем понятно, что у вас не получается. Или вас смущает, что нужно дублировать resources для одной сущности? Так это convenient, а там уже сами решайте, хоть через "*" передавайте весь запрос и разбирайте его как вам нравится
Денис Гончаренко: тогда в общем случае нужно понимать, что база не настолько хрупкая, не сломается :) При правильном проектировании, скорее у вас не хватит пропускной способности сети, чем возможостей базы. Остальное - уже зависит от построенной вами архитектуры. Первое предложение по архитектуре предложили вы сами - сокеты, второе - предложили ниже - кеширование
Денис Гончаренко: смысл сокета в том, что б сделать long/short polling ненужными. polling - это просто алгоритм, имитирующий постоянное соединение, когда технически такого нет. Т.е. если вам нужно делать вид, что данные обновляются "вживую" и у вас нет сокетов - вы берете AJAX и делаете polling. А если у вас есть сокеты, то вы просто подписываетесь на определенный канал и ждете. пока вам там что-нибудь напишут
Diesel-nick: Во-первых, что не работает конкретно в Вашем примере?
Во-вторых, попробуйте сделать все по частям и просто следить за тем, что реально генерируется в HTML, передается в контроллер и доходит до модели.
Попробуйте сделать так:
1. Добейтесь того, что б у вас обновлялось правильно из консоли при команде вида Team.first.update(users_attributes: { id: 3 })
2. Прсоледите, что бы в user_params были именно нужные атрибуты
3. Проследите, что генерируется правильный HTML (именно те input, select которые сгенерируют нужные айди)
что б понять, как использовать - смотрите, какой получается результирующий HTML и какие запросы приходят реально в контроллер.
Начните с того, что проверьте, правильно ли у вас описан user_params (strong_paramenters)
Григорий:
Касаемо домашнего сервера вкратцве:
- Вы не можете гарантировать бесперебойность света, интернета
- Вы не будете покупать серверное оборудование, а домашнее послабее будет
- Множество вопросов по безопасности
- Конечно, скорее всего, такие времена уже в прошлом, но провайдеры по-разному могут реагировать на постоянную нагрузку на свои каналы
- Простой сайт с небольшим количеством посетителей имеет тендецию переставать таковым быть
По поводу хранения картинок на сервере:
- Во-первых, рано или поздно место\тариф закончится и нужно будет куда-либо мигрировать изображения. Имея десятки гигабайт, это может оказаться не самым веселым занятием. На специализированных сервисах место не закончится и есть услуги бэкапов.
- Чаще всего (особенно дома) у вас канал 100 мегабит в секунду (12 мегабайт) - максимум. Посчитайте, сколько человек сможет одновременно открыть Ваш сайт. Это с учетом того, что вы этим интернетом не пользуетесь, а выделенная линия для вашего домашнего сервера уже сравнима по цене с vps + s3.
Советую в 2016 году просто забыть о такой идее. Во-первых, это отсутствие надежности, сложности при настройке и куча головной боли при поиске человека, который все это разрулит, если взлетит.
Во-вторых, сегодня за 10 долларов в месяц можно создавать системы корпоративного уровня с вычетом 100% гарантии доступности (вместо 100% имеете 99% + несколько часов простоя если все совсем плохо).
Если ваш проект не приносит вам 10 долларов в месяц, это или благотворительность или неверная идея.
Григорий: у вас обычный блог - перенести изображения на амазон и можно забыть о них. Вот, попробуйте калькулятор S3: https://calculator.s3.amazonaws.com/index.html
Конечно, нужно будет еще реализовать на сайте нужный функционал.
Цены шаред хостинга, конечно, грабительские. Вам бы арендовать какой VPS (например, https://calculator.s3.amazonaws.com/index.html) и было б счастье. Но может стать вопрос в администраторе.
Или, в крайнем случае, найти хостинг, где в тарифе будет больше доступного места - есть предложения даже с "безлимитными" пакетами, и вариантов очень много.
Григорий: Вы же написали, что у вас 15 гигабайт, верно? Я за S3 плачу от 0,2 до 1 доллара в месяц за хранение 10-15 гигабайт
если проблема в том, что их у вас очень часто запрашивают, то нужно кешировать горячие.
Можете скинуть пример. Но как я понимаю, это просто что-то вроде блога. И если вы заставляете пользователя выкачивать 25 картинок (5 мегабайт по вашим словам), то почему не взять за ту же 1000 хостинг со 100-300 ГБ HDD и забыть на очень долгое время?
Что за хостинг вы используете за 1000 и с 15 гигабайтами?
как по мне, идеально решение это когда в CRM есть возможность подключить API своего каталога и автоматически все будет работать в риал тайме без синхронизации. Но я так понимаю, ничего подобного никто не предлагает?
dimonchik2013: sf использую иногда для клиентов. Для определенных вещей довольно полезная штука, но даже туда не представляю, как всунуть синхронизацию большого каталога риал-тайм. Цены, да, "западные", но все зависит от простоты реализации. И ее как раз не вижу
Давайте на примере битрикса попробуем.
У них есть АПИ для управления товарами? Потому что все что находится, это что-то типа blog.d-it.ru/dev/add-the-product-in-bitrix-correctly и такое не радует.
Если же даже найти способ в битриксе, кк они отнесутся к тому, что это будет постоянное обновление? Мы же про битрикс говорим, который облако, верно?