
Lupsick
13.10.2016
13:05:40
У меня стоит 40 и мне много довольно таки предложений приходит
Но пока некогда все равно

I
13.10.2016
13:12:53
бля(
надо апать

Google

Денис
13.10.2016
13:17:16
а контракт никто не хочет? фронт и немного ruby

Vitaly
13.10.2016
13:17:37
я хочу

I
13.10.2016
13:17:43
сколько часов?

Anon
13.10.2016
13:23:31
есть A, у него много B, у каждого из которых много С
Как узнать сколько у A инстансов C? Итерацией по каждому B у A могу, может есть какая-то хитрая комбинация через всякие where и joins?

I
13.10.2016
13:23:59
a.cs.count ?)
ну, a - A.new
a.has_many :b;
a.has_many :c, through: :b

Aldar
13.10.2016
13:25:49
через сру)

Anon
13.10.2016
13:26:40
Ок, я немного недообъяснил.
У A и так есть свои непосредственные C, но надо узнать сколько C у тех B которые у нашего A

ojab
13.10.2016
13:28:09
кусок модели скопипасть, непонятно как А/B/C друг с другом ассоциированы

Dmitriy
13.10.2016
13:31:50
Ребят помогите плиз, час уже голову ломаю, пытаюсь пройти тест в рельсах и получаю ошибку
URI::InvalidURIError: bad URI(is not URI?): http://www.example.com:80create
test/controllers/products_controller_test.rb:27:in `block (2 levels) in <class:ProductsControllerTest>'
строка 27
post :create, product: @update

Google

Dmitriy
13.10.2016
13:32:07
никто не сталкивался?

I
13.10.2016
13:32:16
гы)
сделайте print того url
и посмотрите внимательно

Dmitriy
13.10.2016
13:33:12
print post :create, product: @update ?

I
13.10.2016
13:33:16
оу
не, это запрос выполнит

Danila
13.10.2016
13:33:31
кек

Dmitriy
13.10.2016
13:33:37
я чайнег(

Danila
13.10.2016
13:33:40
опять print
почему не binding.pry ?

I
13.10.2016
13:34:23
print есть независимо от pry в руби

Anon
13.10.2016
13:34:49
User:
has_many :referrals
Referral:
belongs_to :user
belongs_to :referred_user, class_name: "User"
has_many :subscriptions, through: :referred_user
нужно достатать все сабскрибшены у юзеров, которые обозначены как referred_user во всех рефералах current_userz
current_user`a

Dmitriy
13.10.2016
13:35:19
?

I
13.10.2016
13:37:07
product из фабрики?

Dmitriy
13.10.2016
13:37:40
@update = {
title: 'Lorem Ipsum',
description: 'Wibbles are fun!',
image_url: 'lorem.jpg',
price: 19.95
}

Anon
13.10.2016
13:39:05
я достаю все рефералы с referred_user, с сабскрипшенами так
current_user.referrals.joins(:subscriptions)
их, допустим, 3. А мне бы узнать сколько в сумме этих сабскрипшенов у них.

Google

I
13.10.2016
13:39:17
current_user.referrals.map(&:subscriptions).flatten катит?
ну или flat_map

Anon
13.10.2016
13:40:37
referralS

I
13.10.2016
13:41:11
поправил

Anon
13.10.2016
13:41:58
Хммм, кажись катит
осталось понять как это работает
Спасибо

Aldar
13.10.2016
13:42:45
создает массив массивов потом их выравнивает
и получается просто массив

ojab
13.10.2016
13:44:21
current_user.referrals.joins(:subscriptions).count

I
13.10.2016
13:44:37

ojab
13.10.2016
13:44:46

Anon
13.10.2016
13:44:59
я не знал что у коллекций те же мапы есть
ojab, ты не прав

I
13.10.2016
13:45:17
да, согласен, мое решение плохое)

Aldar
13.10.2016
13:45:32
может просто на SQL зафигачить?

Dmitriy
13.10.2016
13:45:41
Rails.application.routes.draw do
get 'store/index'
resources :products
root to: 'store#index', as: 'store'
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end

I
13.10.2016
13:45:45
да не, и так пойдет

Anon
13.10.2016
13:46:24
@ojab Так выдаст кол-во рефераллов с сабскрипшенами, а не кол-вом сабскрипшенов у реферралов

ojab
13.10.2016
13:46:38
srsly?

Google

Anon
13.10.2016
13:47:02
ну конечно, ведь считаешь referrals

ojab
13.10.2016
13:47:12
он заджойнит referrals с subscriptions и выдаст count по итогу

Anon
13.10.2016
13:47:32
джойн просто подтянет только те рефералы у которых есть сабскрипшены

Aldar
13.10.2016
13:47:38

Anon
13.10.2016
13:47:41
а каунт подсчитает эти реферралы
а надо считать сабскрипшены

ojab
13.10.2016
13:48:14
mkay, пойду схожу в рельсоконсоль

Anon
13.10.2016
13:48:23
я сам оттуда)
отойду покурить

Dmitriy
13.10.2016
13:48:40
@igorpavlov
Rails.application.routes.draw do
get 'store/index'
resources :products
root to: 'store#index', as: 'store'
end

Admin
ERROR: S client not available

ojab
13.10.2016
13:48:41
ладно, .eager_load вместо .joins
ты хотел, вестимо, post products_path или что-то подобное
смотри bundle exec rails routes и ищи в выводе нужный путь

Dmitriy
13.10.2016
13:52:07
спасибо огромное!
products GET /products(.:format) products#index
POST /products(.:format) products#create
ну вот например я нашел, а как это отразить в routes.rb?
извиняюсь) только вот учу...

I
13.10.2016
13:53:26
никак, он генерируется из resources
это нормально

Google

Dmitriy
13.10.2016
13:54:11
post :create, product: @update а как мне здесь тогда исправить?)

Anon
13.10.2016
13:54:19
current_user.referrals.eager_load(:subscriptions) тоже 3 выдает, а должно быть 4

Dmitriy
13.10.2016
13:54:29
на products#create ?

I
13.10.2016
13:54:45
вместе create напишите products_path

Dmitriy
13.10.2016
13:55:00
а

ojab
13.10.2016
13:58:42

Anon
13.10.2016
14:00:02
О, точняк
тогда можно и джойнсом ведь

ojab
13.10.2016
14:00:34
если это работает, то я недопонимаю схему бд
а

Anon
13.10.2016
14:01:02
current_user.referrals.joins(:subscriptions).count("subscriptions.id") вот так работает

ojab
13.10.2016
14:01:05
это я недодосмотрел в рельсоконсоль, да

Anon
13.10.2016
14:01:18
спасибо большое

ojab
13.10.2016
14:07:07
ну или банальный Subscription.where(referral: current_user.referals).count, хз что на твоих данных/бд быстрее будет

Иван
13.10.2016
14:31:54
у меня почему то нормально отрабатывали всякие post :create, put :update итп

ojab
13.10.2016
14:33:09
А это тест контроллера?

I
13.10.2016
14:33:22
да
products_controller_test.rb

ojab
13.10.2016
14:33:52
да, действительно
хз, не пользую контроллерные тесты

I
13.10.2016
14:34:28

Иван
13.10.2016
14:34:34
rspec