@rubyschool

Страница 658 из 921
Alex
07.05.2018
16:01:39
поэтому я и предложил

Kim
07.05.2018
16:02:09
гем middleman

The Rails Asset Pipeline has been removed from the core of Middleman v4. Its future is in flux. If you heavily rely on this feature, we are looking for community maintainers to keep it running in v4. Please contact us. The replacement is the external_pipeline feature which is much more robust and future-proof, at the expense of simplicity and familiarity for Rails developers.

хм

Google
Kim
07.05.2018
16:03:21
я чет не могу въехать

так с таким успехом и вебпакер станет

или что

Alex
07.05.2018
16:04:30
https://middlemanapp.com/basics/build-and-deploy

https://middlemanapp.com/advanced/external-pipeline/

ну да, вебпак встанет наверное

Вы знаете толк в извращениях

Kim
07.05.2018
16:06:02
не я)

мопед не мой)

есть изврат на апворке

и его много

Александр
07.05.2018
16:48:39
https://paste2.org/Nbn3ywOC

мое решение проблемы, ламерский способ, уверен можно проще сделать, но не пойму как

Google
Kim
07.05.2018
16:59:34
а что вывести то надо?

список заказов и под каждым из них - блюда?

Типа Заказ 1: - ... - ... Заказ 2: ...

или что

Александр
07.05.2018
17:01:23
да

Kim
07.05.2018
17:03:27
@orders.each do |order| puts order.id order.dishes.each do |dish| puts dish.name end end

?

если у вас все верно с has_many то все ок должно быть

Andrey
07.05.2018
17:20:43
мое решение проблемы, ламерский способ, уверен можно проще сделать, но не пойму как
Что ты в итоге получить хочешь? У тебя тут 100500 запросов к базе.

Александр
07.05.2018
17:21:28
вывести надо в итоге названия блюд и итоговую сумму заказа

Alex
07.05.2018
17:21:52
Пример, который написал Kim jтлично подходит

Kim
07.05.2018
17:22:32
ну он не считает это

но это уже другая задача

если пример не работает, то скорее всего что-то глобально не так

Alex
07.05.2018
17:23:25
а в order нету суммы заказа?

Александр
07.05.2018
17:23:30
рабоотает, выводит названия

в ордер нет

диш.прайс

спасибо попробую разобраться

Google
Alex
07.05.2018
17:25:31
Окей order.dishes.each { |price| price += price } ну и вверху объяви price = 0

Kim
07.05.2018
17:25:57
@sum = 0 @orders.each do |order| puts order.id order.dishes.each do |dish| puts dish.name @sum += dish.cost end end puts @sum

Andrey
07.05.2018
17:26:04
Заказ ты один конкретный ищешь? Или список заказов у каждого его :id, массив названий блюд, общая сумма.

Kim
07.05.2018
17:26:28
во

а, опередили

Andrey
07.05.2018
17:26:56
Суммировать можно на уровне базы.

Alex
07.05.2018
17:28:11
можно вот так: order.dishes.pluck(:price).sum

Andrey
07.05.2018
17:29:05
Лучше как то типа order.dishes.sum(:price)

Alex
07.05.2018
17:29:40
Да, этот даже получше моего будет способ

Александр
07.05.2018
17:30:02
спасибо больше всем)

Dmitry
07.05.2018
17:30:41
как суммировать на уровне базы?
а история заказов есть?

Andrey
07.05.2018
17:33:16
список заказов
Тогда наверно только через join таблицы блюд.. Частично придется писать sql чтобы вышел один запрос. Я как то не могу придумать на AR решение. Хотя...

Александр
07.05.2018
17:33:53
так тоже работает

суммирует

спасибо

Andrey
07.05.2018
17:34:42
Если не нужны данные из order можно группировать dishes по order-id и там сделать нужные select.

так тоже работает
Так у тебя по запросу на каждый заказ

Alex
07.05.2018
17:35:52
Если там их не 2000, то это будет быстрее, чем джоинить и группировать

Google
Александр
07.05.2018
17:36:58
ну пока я думаю это не принципиально

Andrey
07.05.2018
17:37:03
Джоинить быстрее. На работе не раз проверяли в подобных кейсах :)

Alex
07.05.2018
17:37:18
а вообще цену заказа обычно хранят в базе, так как это величина статичная после создания заказа.

Dmitry
07.05.2018
17:38:26
а вообще цену заказа обычно хранят в базе, так как это величина статичная после создания заказа.
вот, вот, а то потом начнется веселье, когда цену на блюдо поменяют =)

Alex
07.05.2018
17:38:59
Джоинить быстрее. На работе не раз проверяли в подобных кейсах :)
Я думаю это проверялось не на таких запросах. Ну на крайняк может сделать Order.all.includes(:dishes) и потом order.dishes.pluck(:price).sum будет в 2 запроса на весь массив

Andrey
07.05.2018
17:39:03
Ну вот кстати не знаю как обычно. Но в самом деле если цена блюда изменилась то сумма заказов задним числом изменится. Это явно косяк

Alex
07.05.2018
17:39:21
эх, как жаль что я в таких вопросах ничерта не смыслю (

Andrey
07.05.2018
17:40:31
эх, как жаль что я в таких вопросах ничерта не смыслю (
Работу ищи. Замучил. Видеть тебя тут уже безработного не могу :) Книг прочитал сколько сеньоры за всю жизнь не читают.:)

Alex
07.05.2018
17:40:40
во-во

Admin
ERROR: S client not available

Александр
07.05.2018
17:40:42
это кстати тестовое

Alex
07.05.2018
17:40:44
и только по ruby

а рельсу обошел стороной )

Alex
07.05.2018
17:40:54
ага

да по рельсе какие-то стремные книги

Alex
07.05.2018
17:41:01
это кстати тестовое
печальное тестовое

Александр
07.05.2018
17:41:10
почему же?

Andrey
07.05.2018
17:41:14
Alex
07.05.2018
17:41:28
Почему мне такие изичные не попадаются? )

всем подавай сложные выборки, сервис, квери объекты, декораторы

Google
Alex
07.05.2018
17:41:55
и т.д.

Александр
07.05.2018
17:42:06
?не знаю даже

Andrey
07.05.2018
17:44:05
да по рельсе какие-то стремные книги
Как ни странно но все навыки в работе это работа с какими-то библиотеками. Знание руби нужно в 5% задач. Остальное это умение работать с рельсой, сериалайзерами, воркерами, какими ещё приблудами на текущем конкретном месте. А руби на базовом уровне .

Alex
07.05.2018
17:44:20
да я так понимаю как только у меня будет все хорошо с rails можно будет просто изучать vue и react и я сразу найду какую-нибудь работу для fuuuuuuullll stuck разработчика ???

Vlad
07.05.2018
17:45:05
Можно еще создать модель OrderDish например еще, в которой хранить и цену на момент создания заказа и дополнительные данные о блюде "например без соли". И удобнее в разы становится работать с данными. И не будет таких багов, что цена у блюда изменится и весь список заказов потом поменяет свои данные, либо статистика полетит какая-то.

Alex
07.05.2018
17:45:26
я на какое собеседование не приходил всех это интересовало, знаю ли я raeact, хотя даже в требованиях не стояло

Александр
07.05.2018
17:46:27
все замечания изложенные выше приму к сведению)

остается сделать отдачу списка заказов через API

Alex
07.05.2018
17:48:45
остается сделать отдачу списка заказов через API
Ты там посмотри, может у тебя все приложение должно быть API only

Александр
07.05.2018
17:48:58
нет

Alex
07.05.2018
17:48:59
а то отправишь, а потом выяснится, что там HTML и не нужен был

Александр
07.05.2018
17:49:16
написано только про заказы))

Alex
07.05.2018
17:49:25
А кто-нибудь юзал хранимые процедуры или тригеры в базах данных через AR там ... ?

Alex
07.05.2018
17:49:46
Не думаю, что использовать AR для собственных функций в postgres хорошая идея

Alex
07.05.2018
17:50:45
ну типо я делаю хранимую процедуру в postgres сам ручками и использую её из AR так ?

Александр
07.05.2018
17:51:21
кстати про API тоже неплохо было бы поинтересоваться

Andrey
07.05.2018
17:51:45
написано только про заказы))
Если не написано делать html то возможно имеется ввиду отдавать json

Alex
07.05.2018
17:52:06
ну тут она не хранится в бд, в виде названной процедуры, тут ты просто пишешь код ручками и каждый раз его отправляешь

Alex
07.05.2018
17:52:26
кстати про API тоже неплохо было бы поинтересоваться
в контроллере в action format.json render json: { orders: orders } orders разматить или до или после

Andrey
07.05.2018
17:52:57
ActiveRecord::Base.connection.execute()
Не обязательно. Можно внутри select или where писать небольшие участки sql. Чтобы не писать большие запросы руками.

Страница 658 из 921