
Александр
11.05.2018
12:33:42
Вот, таки получилось, спасибо
User.joins(:team_members).where(present_type: :business, business_team_members: { business_account_id: User.select(:id) })

Иван
11.05.2018
12:43:07

Александр
11.05.2018
12:43:24

Иван
11.05.2018
12:44:24
я тогда не понимаю в чем смысл User.select(:id)

Google

Александр
11.05.2018
12:53:55

Dm
11.05.2018
12:54:29
Я сгорел )

Иван
11.05.2018
12:54:39
User.where("team_account_id = id")

Богдан
11.05.2018
12:56:45
господа, а подскажите как сгенерировать уникальный случайный токен? Почему уникальный, потому что по нем будет идентифицироватся пользователь
Или лучше бессрочный jwt заюзать?

ojab
11.05.2018
12:58:00
SecureRandom.что-нибудь
hex/uuid/whatever

Александр
11.05.2018
13:02:05

Sergii
11.05.2018
13:02:30
ну укажи тогда ту таблицу )

Богдан
11.05.2018
13:02:50
SecureRandom.что-нибудь
сенкс, решил jwt заюзать, все-таки там можно пайлоад передавать, там самым проще искать кому принадлежит токен

Sergii
11.05.2018
13:03:02
User.where("та_таблица.team_account_id = id")

Иван
11.05.2018
13:03:52

Google

Sergii
11.05.2018
13:04:14
угу.

Александр
11.05.2018
13:08:25
Ну да, так по проще запрос выглядит :
User.joins(:team_members).where("business_team_members.business_account_id = users.id")

Иван
11.05.2018
13:11:02

Александр
11.05.2018
13:12:29

Иван
11.05.2018
13:17:55
в первом случае результатом джоина будет таблица в которой юзер член какой то группы и дальше ты фильтруешь что бы он был не просто членом а "создателем". Во втором случае в результаты джойна не будут попадать обычные члены группы.
ну и по идее это будет побыстрее

Александр
11.05.2018
13:20:18

Богдан
11.05.2018
13:55:49
товарищи, а в какой хуке лучше всего ловить, например если поле поменялось, то значения угого поля нужно обнулить?

Артур
11.05.2018
14:09:57
if: :name_changed?

Alexander
11.05.2018
14:10:30
Всем привет. Кто-нибудь знает как в ActiveAdmin программно Tab активным сделал?

Богдан
11.05.2018
14:14:07

Darth
11.05.2018
14:33:15
Может в бифо?

Артур
11.05.2018
14:38:26

Dmitry
11.05.2018
15:11:23
или ты про какой таб?

Богдан
11.05.2018
15:19:44
как пробовал?
еще как бы никак, я просто думаю, есть ли смысл вообще, просто выйдет что будет в любом случаи +1 запрос, если в before_create, то чтобы получить старое значение, если в after_create, что бы сохранить значение
может проще сразу с фронта передавать значение какое положить и тем самым самым выйдет только запрос обновления и все
или вообще можно же не использовать ActiveRecord а написать самому запрос, типа
UPDATE table_name SET field = CASE WHEN field1 = #{var_field} THEN '' ELSE field END,
field1 = #{var_field}

Alexander
11.05.2018
15:35:25

Google

Dmitry
11.05.2018
15:36:50

Alexander
11.05.2018
15:39:22
там если имя есть, то вообще не ктати - ошибка, пробовал
active: true

Dmitry
11.05.2018
15:40:28

Alexander
11.05.2018
15:40:39
undefined method `fetch' for :active:Symbol
делал так tab 'Content', :active do

Dmitry
11.05.2018
15:42:16
а ноборот tab :active, 'Content'

Alexander
11.05.2018
15:43:54
не там def tab(title, options = {}, &block) - вроде такой метод внутри

s
11.05.2018
15:50:34

Богдан
11.05.2018
16:06:43

s
11.05.2018
16:41:45
если будут меняться значения, то логичней их провалидировать перед сохранением

Nikita
11.05.2018
17:29:56
За before_validation надо сразу по рукам бить

ojab
11.05.2018
17:30:54
менять после валидации и получать невалидную модель?

Nikita
11.05.2018
17:31:35
А не проще нормальные данные сразу подготовить?
Чем юзать колбек который на каждый чих будет творить херню?

D
11.05.2018
18:11:13
Подскажите как лучше данные для статы дэшбордов на рельсе собирать? Может есть готовые решения?

Nikita
11.05.2018
18:12:09
wut?

Darth
11.05.2018
19:34:01
Немножк офффтопа ^

s
11.05.2018
20:03:35
В целом, согласен, менять модель в коллбеке перед сохранением не стоит

Google

Nikita
11.05.2018
20:04:17
Это можно и без этих штук сделать

s
11.05.2018
20:05:10
Тогда это путь к неконсистентной логике
Где-то вспомнили про вызов нужного инстанс метода перед сохранением
Где-то забыли

Admin
ERROR: S client not available

s
11.05.2018
20:05:46
И выгребли
Когда/если дойдёт дело до тестов ко всей этой кухне автор вопроса станет ближе к просветлению

Mikhail
11.05.2018
20:12:38
Что плохого в валидациях в условном form object`е?

Pavel
12.05.2018
01:54:42
https://github.com/discourse/discourse/blob/master/app/models/topic.rb

Amit
12.05.2018
04:10:07
Подскажите, а как в строке посчитать кол-во конкретно используемых слов?
Например есть строка “hello world hello”
Как посчитать кол-во hello?

Dmitry
12.05.2018
04:26:13
string.scan(/word/).count

Amit
12.05.2018
04:26:16
Я реализовал это так:
string = "hello world hello hello"
string.count("hello") / 5
5 это кол-во букв в слове, но мне кажется, что-то здесь не так :)

Dmitry
12.05.2018
04:29:15
в моем методе есть косяк что если искомое слово будет как часть другого встречаться в строке оно тоже посчитаеться
но в твоем способе такой же косяк

Amit
12.05.2018
04:31:16
Ага, только хотел написать

Dmitry
12.05.2018
04:35:21
вот в лоб решение x = 0 , a.scan(/\w+/) {|w| x+=1 if w == 'hello' }

Google

Dmitry
12.05.2018
04:36:32
Наверняка можно просто через регулярное сделать но яв них не силен
вот самое нормальное)

Amit
12.05.2018
04:47:31
Точно, чот я на split не подумал :(
string = "hello worldhello hello"
string.split(' ').count('hello')
Вот так выдаст 2
Спасибо Dmitry за твое время

Sergii
12.05.2018
04:52:35
string = "hello worldhello hello."
string.split(' ').count('hello')
а так выдаст один
Сильно зависит от того, что за текст и кодировка.

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
12.05.2018
04:56:40
Вот так выдаст 2
а нельзя сделать сплит и посчитать клво элементов, то есть слов?

Sergii
12.05.2018
04:56:44
string.split(%r{\W}).count('hello')
=> 2
так чуть лучше, бьем по не буквам

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
12.05.2018
04:56:51
ведь после сплит получится массив слов?
типа string.split(' ').size?

Sergii
12.05.2018
04:58:26
у него задача определенное слово посчитать
string = "привет, мой друг, привет"
=> "привет, мой друг, привет"
2.3.1 :098 > string.split(%r{\W}).count('привет')
=> 0
FYI