@rubylang

Страница 1232 из 1684
s
05.10.2017
10:10:33
при ревью кода заморских коллег можно и не такое увидеть)

Sergey
05.10.2017
10:10:52
Google
s
05.10.2017
10:11:37
потому что initialize не работает для аудит логов на изменения?)

Igor
05.10.2017
10:11:42
А как колбэки в тестах отключаются? if ENV["RAILS_ENV"] == 'test'?

Sergey
05.10.2017
10:14:02
потому что initialize не работает для аудит логов на изменения?)
ну я про "инициализацию дефолтных параметров" имел ввиду

s
05.10.2017
10:16:05
ну если дефолтные параметры совмем простые, то они вообще должны быть в базе но “дефолтным” может быть и параметр, который зависит от контекста сохраняемой модели например, пермалинк, который может быть указан, а может сгенериться на базе тайтла

делаешь фабрику юзаешь коллбеки фабрики, чтобы отключить и влючить коллбеки модели

больше коллбеков!

Vasiliy
05.10.2017
10:29:43
и проще во вью такое делать

чем потом - о, нам теперь надо всё с маленькой буквы и блокирующий апдейт

Artur
05.10.2017
10:31:46
да, но часто ты такое делаешь?) обычно коллбек это когда ты такой - о, надо б добавить создание ещё модельки
Посмотрел свои модели, в основном у нас в коллбэках такой код def convert_mobile_phone self.mobile_phone = mobile_phone.to_s.gsub(/\W/, '') end

Mighty
05.10.2017
10:34:21
и проще во вью такое делать
>создание сущности >во вьюхе

Google
Vasiliy
05.10.2017
10:36:27
Имелось ввиду сохранение как есть и манипуляции с предложением на другом уровне

Artur
05.10.2017
10:39:24
pny
05.10.2017
10:40:23
Таки почему состояние объекта меняется неявно, когда ты его схороняешь?

Anon
05.10.2017
10:49:39
Посоны, поясните за магию рельсов. Есть классовый метод модели. В нём self - само собой сам класс. Даже если он вызывается через scope - класс. Если использовать какой-то ОРМ метод вроде where, то итоговая квери чейнится со скоупом. Как можно запустить эту квери в методе чтобы работать в нем уже с ActiveRecord::Relation?

Anon
05.10.2017
10:51:42
Хотя бы иметь возможность написать метод self.foo который можно было использовать как Model.where(a: :b).foo

Mighty
05.10.2017
10:52:06
Ну ты понимаешь что возвращает where и где должен будет объявлен твой foo?

Anon
05.10.2017
10:54:00
Я подозреваю что ActiveRecord::Relation, но мне непонятно как работать с этим lazy execute активрекорда

Mighty
05.10.2017
10:54:44
В смысле «как»

Anon
05.10.2017
10:54:51
Т.е. Model.where(a: :b) не возвращает Relation до того как началось обращение к какой-то из моделей

Mighty
05.10.2017
10:54:52
Ты сделать что хочешь-то?

Т.е. Model.where(a: :b) не возвращает Relation до того как началось обращение к какой-то из моделей
>не возвращает результат выполнения запроса до того как объявлен вызов этих результатов

Anon
05.10.2017
10:55:39
Как объявить вызов этих результатов?

Mighty
05.10.2017
10:55:52
Наиболее классическое - .to_a

если where

Anon
05.10.2017
10:55:57
вооот

а теперь смотри

def self.foo puts class #=> Class self.to_a #=> undefined local variable or method `to_a' end

Mighty
05.10.2017
10:58:01
очевидно что у твоего класса нету метода to_a

Google
Anon
05.10.2017
10:58:16
Мой класс - модель

Mighty
05.10.2017
10:58:58
Ты по прежнему не можешь ответить на один простой вопрос - «ты что сделать то хочешь?»

Anon
05.10.2017
11:01:53
Ок. Я хочу написать метод, который можно было бы вызывать как Model.where(a: :b).foo и который бы работал с результатом вызова ActiveRecord::Relation полученным от Model.where(a: :b)

Mighty
05.10.2017
11:03:41
Сделай QueryObject и прокидывай туда скоуп

внутри QueryObject работай с результатами скоупа

Вызывай QueryObject по вызову foo в модели

Anon
05.10.2017
11:05:29
Дэээ

Спасибо конечно, но как это можно иначе сделать я и так знаю, мне интересна возможность реализации как я сказал.

Mighty
05.10.2017
11:07:15
Ты пытаешься сделать это криво

Результат работы скоупов - relation, relation не имеет никакой связи с твоей моделью кроме того что результаты выполнения relation обворачиваются в объекты твоего класса

Логичным образом - результат работы скоупа не твой класс, а коллекция

Anon
05.10.2017
11:10:44
Хм, ну да, логично

Anon
05.10.2017
11:17:27
Ок, узнал, можно достать relation изнутри классового метода через where({}), может кому пригодится

Вообще юзкейс был такой что мне необходимо полученные данные структуризовать и вернуть в виде многоуровнего хэша. Мне кажется MyModel.where(...).arrange поудобней будет

Mighty
05.10.2017
11:20:11
Structurizer.arrange(MyModel.where())

Модель данные хранит

А не структурирует

Nikita
05.10.2017
11:34:53
Ребят, может кто-то подсказать сервис карт, чтобы можно было рисовать маршрут по большому кол-ву точек?

То есть где ездила определенная машина в таком-то интервале, в таком-то и т.д.

Serghei
05.10.2017
11:39:16
КТо сталкивался : Can't verify CSRF token authenticity.??????

Google
Serghei
05.10.2017
11:39:42
локально работает. на сервере не работает

Fedor
05.10.2017
11:39:47
нужно scrf в форму добавить

https://stackoverflow.com/questions/8503447/rails-how-to-add-csrf-protection-to-forms-created-in-javascript

Serghei
05.10.2017
11:40:25
в форме и хиден филде стоит





Artur
05.10.2017
11:45:37
Admin
ERROR: S client not available

Igor
05.10.2017
11:46:29
локально работает. на сервере не работает
Может secret_key не стоит? Или в прод окружении другие настройки

No
05.10.2017
11:49:00
все стоит(((
миграция с 4 на 5 рельсу?

если да, то могу подсказать, в чем проблема

Serghei
05.10.2017
11:49:24
нет.. 5 с начала

No
05.10.2017
11:49:44
там в конфигаъ есть параметр отвечающий за csrf, он вроде в четвертой рельсе по дефолту false

а в пятой - true

Serghei
05.10.2017
11:49:53
есть одно но... у меня нет бд.. ни активрекорда..ничего

No
05.10.2017
11:50:11
в конфигах рельсовых я имею ввиду

или энваренмента

Serghei
05.10.2017
11:50:27
Rails.application.config.action_controller.per_form_csrf_tokens = true

No
05.10.2017
11:50:43
не, это не то вроде как

Google
Serghei
05.10.2017
11:52:40
другое не стоит

Vasiliy
05.10.2017
11:53:01
там мне рассказывали в 5 рельсе вроде сделали для каждой формы свой csfr

[Anonymous]
05.10.2017
11:54:49
If a product that falls under this guarantee is found to be counterfeit, you will get a full refund (shipping costs included). https://goo.gl/cRwWKn

Karina
05.10.2017
12:55:38
кто делал в form_object подтверждение условий по чекбоксу? attribute :terms, Boolean validates :terms, acceptance: true в объекте terms = true, но всё равно ошибка вываливается

Alexander
05.10.2017
13:16:41
кто делал в form_object подтверждение условий по чекбоксу? attribute :terms, Boolean validates :terms, acceptance: true в объекте terms = true, но всё равно ошибка вываливается
Шарьте код и лог пожалуйста :) Пальцем в небо, можно сделать coercion в единицу, если boolean не проходит

Alexander
05.10.2017
13:26:09
Пришлите пожалуйста код форм объекта и входящие параметры

Pastebin-ом лучше

Или что там сейчас модно.

Fedor
05.10.2017
13:26:49
в готовой модельке перед валидацией, или в параметрах

может его strong_params отрезает?

Karina
05.10.2017
13:28:41
ну, собственно, создаю form object с параметрами контроллер: f = Form.new(form_params) сам form object: attribute :terms, Boolean validates :terms, acceptance: true вьюха: <%= f.check_box :terms %>

после f = Form.new(form_params) f.terms уже равно true

Alexander
05.10.2017
13:32:34
Форм объект Virtus использует?

Karina
05.10.2017
13:33:33
да

Fedor
05.10.2017
13:34:41
это на ActiveType или нет?

ActiveType knows all the types that are allowed in migrations (i.e. :string, :integer, :float, :decimal, :datetime, :time, :date, :boolean)

если да, то лушче попробовать в виде :boolean сделать

Страница 1232 из 1684