Size: a a a

2019 January 15

AF

Alexandr Filippov in pro.elixir
Źmićer Rubinštejn
А это не бизнес логика а авторизация ресурса, если я правильно понял
Ну да.. Наверное, неудачный пример. Другое: что если у поста есть expired_date, по истечению которого нельзя добавлять коментарии, где в таком случае делать такую проверку?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
В changeset
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Разница в том что это поле сделано специально для этой истории, и бизнес логика будет меняться с базой вместе
источник

ŹR

Źmićer Rubinštejn in pro.elixir
А доступ к ресурсам от базы не зависит и не влияет на неё
источник

AD

Anastasiya Dyachenko in pro.elixir
имхо делать проверку на поле одной таблицы при проверке changeset другой - не правильно
источник

AD

Anastasiya Dyachenko in pro.elixir
эта ошибка не связана ни с одним полем changeset-а комментария
источник

AD

Anastasiya Dyachenko in pro.elixir
проверять надо до того как делать insert
источник

AD

Anastasiya Dyachenko in pro.elixir
ну т.е. до заполнения changeset-а
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Так тоже можно.

Но то что не связано - неправда. Связано с belongs to post
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Или post_id
источник

AD

Anastasiya Dyachenko in pro.elixir
Т.е. при валидации надо будет делать доп запрос чтобы получить поля поста?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Да, типо того. Это может выглядеть криво, но мне почему-то кажется что в Экто так приходится делать периодически, например при добавлении к many_to_many, я не очень помню.
источник

(

( in pro.elixir
Эликсирщики, подскажите, как сломать иммутабельность коллекций? Самые грязные хаки, можно с Сями, нифами, главное чтобы в существующей аллокации поменялось значение
источник

ŹR

Źmićer Rubinštejn in pro.elixir
источник

AD

Anastasiya Dyachenko in pro.elixir
Можно и без cast_assoc обойтись, это дело вкуса
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Можно. Но с другой стороны создатели Экто вроде как сами предлагают дергать репу в changeset
источник

AD

Anastasiya Dyachenko in pro.elixir
(
Эликсирщики, подскажите, как сломать иммутабельность коллекций? Самые грязные хаки, можно с Сями, нифами, главное чтобы в существующей аллокации поменялось значение
Если объяснишь зачем будет проще подсказать
источник

AD

Anastasiya Dyachenko in pro.elixir
Źmićer Rubinštejn
Можно. Но с другой стороны создатели Экто вроде как сами предлагают дергать репу в changeset
Не в changeset же, а перед передачей модели в changeset
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Если заморачиваться по чистоте чейнджсетов - да. Но когда я использую cast_assoc (хоть это бывает и редко), то я все запихиваю в changeset и потом вызываю Post.creation_changeset и внутрь передаю всю мошну
источник

(

( in pro.elixir
Anastasiya Dyachenko
Если объяснишь зачем будет проще подсказать
В соседнем чате котлина спорим, как в языках ломать иммутабельность. Ну вот например у вас есть коллекция, вроде неизменяемая, но если захотеть, то изменяемая и вот как в эликсире так захотеть. В хаскеле например, как сказали это unsafeCoerce + unsafeRunIO
источник