
Fedor
03.08.2017
15:57:31
ну в том то и суть, что во вьюхе написано <span>t(.interesting_text)</span>
а в ямлах - непосредственно текст
а через вебморду правятся ямлы
и текст меняется

Google

Ilya
03.08.2017
15:58:27
Да, с этим уже разобрался
не так понял сразу

Fedor
03.08.2017
15:58:43
единственное, что я могу предложить это подумать на архитектурой БД, в плане описаний
тоесть иметь товар у которого 100 полей title под каждую локаль как-то криво
я бы сделал табличку с параметрами товара, id, цены и.т.д.
и под каждую локаль табличку ru_describes
и там бы хранил все описания, названия и.т.д.
и связка через join

Nikolai
03.08.2017
15:59:51
У меня мысль - сделать по таблице под каждую локаль

Fedor
03.08.2017
15:59:56
но это так сходу в голову пришло, можно еще подумать
может получше решение есть

Nikolai
03.08.2017
16:00:03
Оно так и шустрее работать будет

Fedor
03.08.2017
16:00:14
ага, и шустрее и удобнее гораздо

Google

Nikolai
03.08.2017
16:00:21
И основная таблица не будет выглядеть монструозно

Fedor
03.08.2017
16:00:24
надо добавить локаль - добавил табличку и все

Nikolai
03.08.2017
16:00:35

Serge
03.08.2017
16:45:55
Ага. А потом мапить сутками?

Nikolai
03.08.2017
16:49:29
Сергей, Ваши предложения?

Fedor
03.08.2017
16:54:39

v
03.08.2017
17:48:55
господа хорошие, а подскажите, что модные рубисты используют для реализации календаря событий?
типа вот эдакой штуки
https://github.com/excid3/simple_calendar
или может что попроще и попрямее есть?

Ro
03.08.2017
18:11:38

Ilya
03.08.2017
18:12:30
Как вообще интернет магазины решают такую проблему? ? А то чето пока не сильно много вариантов

Vlad
03.08.2017
18:14:53
Если кому там еще актуально про globalize - вполне годная штука, даже завелась с 5 рельсами, и с небольшими пинками заработали гемы 'rails_admin_globalize_field'
и 'globalize-accessors', чтобы не придумывать свои велосипеды.
Во вьюхах не надо мучаться со всякими If locale, что вы тут понаписывали в чате, просто пишем model.name, а globalize-accessors подхватывает атрбиуты и переводит все. Все данные переводов хранятся, кажется, в отдельной таблице. На быстродействие не особо проверялось, на небольшом трафике и самом дешевом серваке проблем замечено не было.


Ro
03.08.2017
18:20:11
Как вообще интернет магазины решают такую проблему? ? А то чето пока не сильно много вариантов
да хз. Я бы старался особо не усложнять. Держать в БД то, что динамическое (title, description) и т.д. Кстати, может есть даже смысл сериализовать переводы в yaml формат. Типа если title не yaml, то выдавать его напрямую. А если yaml, то выдавать на основе текущей локали пользователя.
Конечно если апп большой, то надо будет везде поменять этот вызов на что-то вроде item.t_title вместо item.title. Ну это пока первая мысль как сделать просто. В админке переводы могут вставлять прямо в textarea - не надо делать дофига полей. Прикрутить тока какой-нить клиентский верификатор yaml'a.


Ilya
03.08.2017
18:21:44
звучит круто, пойду курить доки
Во вьюхах не надо мучаться со всякими If locale, что вы тут понаписывали в чате, просто пишем model.name, а globalize-accessors подхватывает атрбиуты и переводит все. Все данные переводов хранятся, кажется, в отдельной таблице. На быстродействие не особо проверялось, на небольшом трафике и самом дешевом серваке проблем замечено не было.

Ro
03.08.2017
18:22:10
можно заюзать вот этот мой плагин чтобы textarea сама увеличивалась в размерах https://github.com/ro31337/jquery.ns-autogrow В textarea будет yaml формат, например.
тогда и полиморфную ассоциацию не надо, в БД ведь не будет лишних полей. Только модуль сделать. Хотя хз, может кто-то скажет что этот подход отстой - я бы хотел услышать аргументы)
наверное поиск будет плохо делать. А может быть наоборот хорошо

Fedor
03.08.2017
18:26:11
Я бы не смешивал переводы, что бы не разрастались таблицы

Ro
03.08.2017
18:26:19
я думаю даже можно обойтись без item.t_title - просто написать модуль, который все атрибуты будет оборачивать. И если item.title это yaml, то он будет выдавать нужный перевод

Google

Fedor
03.08.2017
18:26:36
Тоесть что бы один запрос с одним переаодом не весил в пять раз больше чем надо

Ro
03.08.2017
18:27:54
тоже верно, хотя обычно перевод это не так много инфы. Если доп.язык один, то можно. А если 10, то наверное этот подход уже не годится

Nikolai
03.08.2017
18:33:31
господа
? Привет. Я – @SpamKillerRobot.
Я очищаю чаты от спама (когда 3 пользователя пожалуются на сообщение).
Добавь меня в группу и сделай администратором.
Для жалобы на сообщение - необходимо ответить на него (Reply) словом «спам».
? Откройте мое инфо, нажмите «Добавить в группу»

spartakusQ
03.08.2017
18:34:55
а вот это не надо делать
я про админку боту

Nikolai
03.08.2017
18:35:20
на усмотрение модераторов

bender23
03.08.2017
18:36:35
ничего страшного боты с админкой не делают

Ro
03.08.2017
18:37:22
не, этого бота я модером не буду делать, только если он будет хоститься на нашем серваке. Если найдешь сорц - скинь в личку

Andrey
03.08.2017
19:00:08
Я не бот. Только начал изучать Ruby

Ilya
03.08.2017
19:01:10
все-таки работает ?

Admin
ERROR: S client not available

nafan
03.08.2017
19:01:17
Ура, привет!

Vladimir
03.08.2017
19:03:09
@nklsv допиши в приветствии Бота адрес школы (гиперссылку)

Nikolai
03.08.2017
19:12:43
ну что, ребята. теперь будем устраивать охоту на спамеров с их каналами о пассивном доходе

:﷼
03.08.2017
19:22:10
Надо не кикать спамеров, а банить каналы. После спама пусть бот сообщение постит, чтобы открывали спамерский канал и репортили о спаме. Всего 8 жалоб и канал заблочат.

Nikolai
03.08.2017
19:22:32
хм
но все каналы мы не перебаним
создать канал это раз плюнуть же

Google

Nikolai
03.08.2017
19:23:35
ну хотя. для канала важна аудитория. после каждого бана придётся набирать её заново
так что предложение вполне логично и разумно

:﷼
03.08.2017
19:23:47
Точняк

Nikolai
03.08.2017
19:24:33
в общем, предложение для всех присутствующих. как только появляется спам с рекламой говноканалов - заходим и массово репортим
пора нанести ответный удар

:﷼
03.08.2017
19:25:37
Бота научи, пусть он после ссылок пост выставляет

Dmitry
03.08.2017
19:27:41

Vadim
03.08.2017
19:29:18

Dmitry
03.08.2017
19:31:41
Переходить по ссылке которая ведёт в рекламируемый канал, нажимаешь три точки в правом верхнем меню, там есть пункт "Report", там выбираешь "Spam", все!

Vadim
03.08.2017
19:32:26
Спасибо!

Nikolai
03.08.2017
19:47:07
скажите
а что в ruby делает метод со знаком равно?
например, такое
def all_tags=(names)
self.tags = names.split(",").map do |name|
Tag.where(name: name.strip).first_or_create!
end
end

:﷼
03.08.2017
19:50:00
Присваивает значение

Nikolai
03.08.2017
19:51:12
не совсем понял
мы же значение обычно так присваиваем