@rubylang

Страница 1454 из 1684
Максим
11.04.2018
10:15:00
черещ контроллер

Aleksey
11.04.2018
10:15:19
черещ контроллер
с помощью руби!

ojab
11.04.2018
10:15:30
не нормально, на самом деле (см. Date.parse('06 май 2019'), например). Надо юзать https://github.com/karnov/i18n-date или что-то подобное.

Aleksey
11.04.2018
10:16:36
Как вызвать rake task с админки, по нажатию на кнопку ?
плохой вариант: system(`bundle exec rake some:task`) хороший вариант: вынести содержимое rake таска в отдельный класс, и вызывать его как душе угодно

Google
ojab
11.04.2018
10:16:52
Как вызвать rake task с админки, по нажатию на кнопку ?
Rake::Task['task_name'].invoke, но перед этим нужно загрузить таск и зависимости, так что лучше см. сообщение выше.

Alex
11.04.2018
10:17:15


Roman
11.04.2018
10:17:36
типа в какой-то сервис запихнуть логику таска?

Максим
11.04.2018
10:17:47
да

ojab
11.04.2018
10:17:52
спасибо буду знать. ну его правда в проекте сча нет. выкрутился так
не выкрутился, то бишь, учитывая что парсится только дата.

Roman
11.04.2018
10:18:07
пасиб

Di
11.04.2018
11:59:30
Братцы, есть задача средствами Sequel обновлять сразу некоторое количество записей, до нескольких тысяч. Как лучше сделать? Обернуть ли в транзакцию? Каким методом апдейтить чтобы избежать n+1?

Артур
11.04.2018
12:07:50
как пробовал? что не получается? что смущает?

Aleksey
11.04.2018
12:18:40
удобный стикерпак

Rustam
11.04.2018
12:19:42
так лучше)

Aleksey
11.04.2018
12:20:02
Братцы, есть задача средствами Sequel обновлять сразу некоторое количество записей, до нескольких тысяч. Как лучше сделать? Обернуть ли в транзакцию? Каким методом апдейтить чтобы избежать n+1?
универсальных решений не существует, мы не знаем что и как ты там обновляешь. если не надо ничего читать с модели, откуда взяться N+1? и вообще Sequel тут ни при чем )

Dm
11.04.2018
12:20:03
Ништяк )

Google
Di
11.04.2018
12:21:39
Ну есть набор записей. Нужно загрузить их из базы, обработать у них атрибут и обновить в бд объекты. Перебирать их тупо через each и записывать в каждой итерации? Или загрузить в массив, обработать его, потом записать скопом?

ojab
11.04.2018
12:25:25
единовременная операция? Много ли записей? Могут ли они в процессе обновиться как-то ещё? Допустим ли даунтайм/тупая блокировка всех записей перед этим самым обновлением?

Если единовременная — делай через .each и не парься.

ну и см. http://sequel.jeremyevans.net/rdoc-adapters/classes/Sequel/Postgres/Dataset.html#method-i-use_cursor если постгрес, заодно

Di
11.04.2018
12:30:23
За курсор спасибо. Не ориентируюсь с документации, слегка запутана она, а времени спокойно почитать и разобраться пока нет, срочная таска. 1. Блокировку сделать можно. 2. В процессе не предполагается что они обновятся. 3. Если делать через each, то внутри транзакции, верно? Записей может быть до нескольких тысяч, не десятков тысяч.

ojab
11.04.2018
12:32:15
ага, открываешь транзакцию, лочишь записи и делаешь с ними что хочешь.

Vasiliy
11.04.2018
12:45:57
А как нибудь можно префиксы в рельсе добавить к определенным атрибутам?

Lavrushchik
11.04.2018
13:00:33
вопрос. Есть модель User(у которого есть привилегия client и moderator) и Partner. User(client) обслуживается у Partner и User(moder), принадлежащий к Partner, устанавливает цены на какие-то услуги у Partner. 1) Как называется подобная связь? 2) Как лучше её организовать?

ojab
11.04.2018
13:09:08
Partner has_many :users, has_one :moderator, class_name: 'User' User belongs_to :partner, has_one :moderator, through: :partner, не?

Lavrushchik
11.04.2018
13:10:27
а если модеров несколько?

ojab
11.04.2018
13:11:15
has_many, очевидно.

Lavrushchik
11.04.2018
13:12:22
окей, предположим. а тогда: "User belongs_to :partner, has_one :moderator, through: :partner" не совсем догнал

ojab
11.04.2018
13:13:04
тоже has_many, очевидно.

Lavrushchik
11.04.2018
13:14:16
так отдельной сущности :moderator не существует

ojab
11.04.2018
13:15:04
class_name: 'User' как бы намекает, что это User.

Lavrushchik
11.04.2018
13:15:19
ну в первом случае да, намекает

во втором также прописать?

Roman
11.04.2018
13:15:59
у тебя должно быть 2 связи - к клиенту и к модератору, скорее всего

ojab
11.04.2018
13:17:44
да, так же. Ну и добавить другой foreign_key (i. e. moderated_partner_id) и его использовать для связи :moderator + опционально добавить belongs_to :moderated_partner с этим foreign_key.

Google
biert
11.04.2018
13:47:21
приветствую, ситуация такова: в базе хранится текст мейла, который нужно редактировать, есть брать из базы, и подаставлять переменные в view типо <%= @variable %> оно не отображается

то есть как сделать редактируемые темплейты для мейла

Максим
11.04.2018
13:47:59
что в @variable

какое расширение у view

как называется view и как называется controller

в каких папках лежат

Sergey
11.04.2018
13:48:36
Макс, поделись, как у тебя там с еврон?

Максим
11.04.2018
13:48:43
жду офер

Sergey
11.04.2018
13:48:56
никакого фидбека не дали?

Максим
11.04.2018
13:49:03
а так вроде всё хорошо, говорят понравился

Sergey
11.04.2018
13:49:04
или дали и сказали жди офер?

Максим
11.04.2018
13:49:10
дали и сказали ждать

Sergey
11.04.2018
13:49:42
Отлично) Поздравляю

Максим
11.04.2018
13:49:51
спасибо)

я тоже оч рад

осталось дождаться

то есть как сделать редактируемые темплейты для мейла
в каком методе ещё определяется @variable

biert
11.04.2018
13:51:08
что в @variable
типо Hi <%= @name %> we really appreciate that you choose to use our service, it means a lot to us.

Максим
11.04.2018
13:51:21
ну а в @name что хранится

Google
biert
11.04.2018
13:51:38
как называется view и как называется controller
view называется так же как и метод вызова в контролере

Максим
11.04.2018
13:51:44
как называется файл вьюхи, контроллера, в каких папках

что мб в консоль пшиет

biert
11.04.2018
13:51:53
Максим
11.04.2018
13:52:06
а определяется @name в каком методе

biert
11.04.2018
13:52:53
в том же

я хочу понять концепцию саму как сделать шаблон, как гуглить

Максим
11.04.2018
13:54:03
а покажи контроллер

biert
11.04.2018
13:55:24


Максим
11.04.2018
13:58:15
мб у юзера нет имени

biert
11.04.2018
13:58:46
исключено

тут проблема в том что я храню в базе это все как строку

Sergey
11.04.2018
13:59:41
назови переменную @foobar123

может у тебя где-то перезаписывается переменная или не доходит до вью и там nil подставляется

biert
11.04.2018
14:00:15
и думаю дело в том что оно не отображается из-за того что я использую в самом view строку "Hi <%= @name %> we really appreciate that you choose to use our service, it means a lot to us."

Alex
11.04.2018
14:00:19
исключено
ну поставь pry и проверь

biert
11.04.2018
14:01:32
я попытаюсь сделать что-то типо "Hi #{@name} we really appreciate that you choose to use our service, it means a lot to us."

Максим
11.04.2018
14:02:34
попробуй реально проверить

есть ли вообще что либо в переменной

Google
Максим
11.04.2018
14:02:47
я ща немного туманно мыслю

мб глупость спзидану

но почему в контроллер передаётся параметр

параметры с запроса передаются автоматически в объект params

biert
11.04.2018
14:03:31
я не правильно выразился, это мейлер

Максим
11.04.2018
14:03:36
и оттуда уже можно их разбирать как надо

а

Alex
11.04.2018
14:08:30
Ребят, как наиболее элегантно проверить принадлежит ли элемент коллекции? Например есть категории они связаны через has_many through c тэгами. Мне нужно выгрузить список всех тэгов и для каждого дополнительно вернуть есть ли он уже в коллекции для заданной категории( true/false)

Максим
11.04.2018
14:09:38
через мап можно

Alex
11.04.2018
14:10:11
через мап можно добавить true/false, тут вопрос как проверить огромное количество объектов с максимальной производительностью

Максим
11.04.2018
14:11:00
зависит от конкретного набора

погоди ещё раз опиши задачу

я не уверен что понял

есть категории

у категорий есть "товары"

у товаров теги

и надо проверить есть ли теги у категорий?

Alex
11.04.2018
14:13:47
сек

Есть категория has_many through tags, нужно реализовать добавление тэгов к категории. Для этого нужно вернуть список всех тэгов и если category.tags.exists?(tag.id) то в тэге вернуть true, если нет - то false

Страница 1454 из 1684