
Ilya
15.12.2016
09:26:37
у меня почему-то на небольшом проекте вырос на процентов 20

Dima
15.12.2016
09:41:36

Alex
15.12.2016
09:41:58
https://github.com/drapergem/draper/releases
bundler по умолчанию не ставит pre релизы (вроде) если ему конкретно не указать пререлиз. А ставит стейбл версии.

Google

Dima
15.12.2016
09:42:56

Alexander
15.12.2016
09:53:03
декоратор — это, по сути, плохой view object?

Ilya
15.12.2016
09:53:34
ну не обязательно плохой)
просто хочется модель потоньше делать
а декорировать только тогда, когда надо)

Alexander
15.12.2016
09:54:22

Dima
15.12.2016
09:54:30
декоратор — это, по сути, плохой view object?
что такое view object я пока незнаю. но вот есть такая строчка в документации:
You might have heard this sort of decorator called a "presenter", an "exhibit", a "view model", or even just a "view" (in that nomenclature, what Rails calls "views" are actually "templates").

Alexander
15.12.2016
09:55:13
мне кажется, delegate_all делает его «плохим» (очень знающим), в «хорошем» view object явно указываются необходимые вещи

Alex
15.12.2016
09:56:25
delegate_all просто делает тебе модель которая еще и сама может тебе данные красиво выводить

Ilya
15.12.2016
09:56:28
ну да, избыточность налицо)

Alex
15.12.2016
09:56:43
хочешь честно - не делегируй.

Ilya
15.12.2016
09:57:20
ну да, можно просто свой декоратор написать, туда помещать модель и дергать только то, что нужно

Alexander
15.12.2016
09:57:25
неплохо. но сильная зависимость от AS и AR (gemspec) огорчает

Google

Ilya
15.12.2016
09:57:27
гем для ленивых)

Alexander
15.12.2016
09:57:39
хотя с тем же Sequel можно заюзать, но зависимости тянуться будут

Alex
15.12.2016
09:57:49

Alexander
15.12.2016
09:58:16

Dima
15.12.2016
09:58:21
шикраная статья о декораторах и view objects: http://www.jetthoughts.com/blog/tech/2014/08/14/cleaning-up-your-rails-views-with-view-objects.html

Alexander
15.12.2016
09:58:28
хотя класс написать в один экран можно, мне кажется

Ilya
15.12.2016
10:01:29
так обычно и делается
просто рубисты ленивые)
надо заюзать гем)
если задачу не решает гем, то это попаболь)

Alexander
15.12.2016
10:02:53

Ilya
15.12.2016
10:03:03
?

Alexander
15.12.2016
10:03:16
знаю такой подход, да. потом больно получается
карточный домик в Gemfile

Dmitriy
15.12.2016
10:05:43
ребят вопрос
вот использую я постгрес, в приложении, создал форму, в которой там есть выбор различных значений. Немного ошибся в select_collection который должен был передавать в value данные типа integer, вместо них он передал строку, и она записалась в бд
каааак

Ilya
15.12.2016
10:07:27
автокаст)

Alexander
15.12.2016
10:08:20

Dmitriy
15.12.2016
10:08:23
@lbvf50 :D

Google

Ilya
15.12.2016
10:08:24
некоторые базы автоматически преобразуют типы данных

Dima
15.12.2016
10:08:30

Dmitriy
15.12.2016
10:08:38
ну поле создавалось же при помощи миграции

Alexander
15.12.2016
10:09:11

Dmitriy
15.12.2016
10:09:18
сейчас узнаю)

Alexander
15.12.2016
10:09:23
другой вопрос: тебя что-то не устраивает?
коль ты всецело полагаешься на автоматизацию, я не вижу описания проблемы: поле, по ошибке другого типа, записалось, и ты хотел именно этого. нет?

Alex
15.12.2016
10:11:00
Ему надо явно указывать.

Alexander
15.12.2016
10:11:12

Dmitriy
15.12.2016
10:11:18
@AlexWayfer Data type integer

Alexander
15.12.2016
10:11:19
поверь

Alex
15.12.2016
10:11:22
практически всегда.
При очень близких типах ему плевать.

Alexander
15.12.2016
10:11:33
я так облажался однажды со строкой "false"

Alex
15.12.2016
10:11:48
он ее к false приводил?

Alexander
15.12.2016
10:11:55
type text default false (именно буленовский false)
он буленовский false в строку приводил сам

Alex
15.12.2016
10:12:14
это схема базы

Alexander
15.12.2016
10:12:17
я бы не сказал, что очень близкие типы

Google

Alex
15.12.2016
10:12:17
Простительно.

Dmitriy
15.12.2016
10:12:21
посомтрел
типа integer!

Alex
15.12.2016
10:12:27
возможно он прочитал это как константу.

Dmitriy
15.12.2016
10:12:49
тогда какой смысл вообще указывать типы данных если все пишется туда
t.string :title
t.text :description
t.integer :privacy
t.boolean :featured
t.string :cover_image

Alex
15.12.2016
10:12:59
в том то и дело что туда не пишется все

Admin
ERROR: S client not available

Alex
15.12.2016
10:13:05
какой тип только то и может писаться.

Dmitriy
15.12.2016
10:13:21
=> #<Achievement id: 1, title: "test", description: "werwer", privacy: "private_access", featured: true, cover_image: "#<ActionDispatch::Http::UploadedFile:0x007fdf050cc...">
сделал я Achivement.last

Alex
15.12.2016
10:13:44
у тебя privacy не Enum случайно?

Dmitriy
15.12.2016
10:13:54
enum
:D

Alex
15.12.2016
10:13:59
Вот тебе и ответ
в базе записано число
при чтении, рельсы автоматически тебе маскируют это под значение.

Dmitriy
15.12.2016
10:14:20
ептить

Alex
15.12.2016
10:14:42
т.е ты туда абы что не сможешь ща записать.

Google

Anon
15.12.2016
10:14:52
a belongs_to b
b has_many a
как эффективней достать все a у которых больший created_at у своего б
точнее, больший created_at среди других а привязанных к тому же б

Alex
15.12.2016
10:16:02
Ты сказал достать все
И тут же сказал достать один
так что ты хочешь достать?

Dmitriy
15.12.2016
10:16:17
@Fedcomp спасибо!)

Alexander
15.12.2016
10:37:50

Alex
15.12.2016
10:38:10
а там точно false?

Alexander
15.12.2016
10:38:50
а там точно false?
точнее быть не может, можешь сам проверить у себя
хоть в дефолт нативный false напиши, хоть insert

Alex
15.12.2016
10:39:13
Я в том плане что если abrakadabra, то кастанет в "abrakadabra"?

Alexander
15.12.2016
10:39:47

Ilya
15.12.2016
10:39:49
скорее всего не распарсит

Alexander
15.12.2016
10:40:02
false-то есть, и его кастует
вопрос параллельно знатокам:
что на ваш взгляд лучше для enum, integer с кастингом в orm или постгресовский enum?

Ilya
15.12.2016
10:44:41
ну если там tinyint, то разницы немного
но я думаю, что база будет менеждить enum более эффективно
с точки зрения производительности

Anon
15.12.2016
10:46:53
Нужно достать те а, где created_at наибольший среди привязанных к тому же б
Ты сказал достать все
И тут же сказал достать один