@rubylang

Страница 1493 из 1684
Amit
12.05.2018
04:59:12
Что ты имеешь виду бьем по не буквам?

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
12.05.2018
05:00:23
прочёл криво значит

кстати никто не сталкивался с кастомным контроллеров сессий у девайса? я каптчу добавил и если она не валидна - пытаюсь просто сделать render :new а сессия появляется и пользователь становится залогиненный, хоть и выполняется условие рендера да и только?

Google
Sergii
12.05.2018
05:04:22
string = "привет, мой друг, привет"

string.split(%r{[^[[:word:]]]}).count('привет') => 2

%)

Amit
12.05.2018
05:07:06
Объясни в чем разница друг, объясни. Я эти конструкции с символами %, ^ еще не учил)

Dmitry
12.05.2018
05:07:31
string = "hello worldhello hello." string.split(' ').count('hello') а так выдаст один
x = 0 , a.scan(/\w+/) {|w| x+=1 if w == 'hello' } в этом случае вот этот ад сработает как надо)

Sergii
12.05.2018
05:42:06
(=

хорошее имя

Decadent
12.05.2018
05:42:52
Я его скоро наизусть уже выучу

По всему телеграму разбросался

Stanislav
12.05.2018
06:50:21
По всему телеграму разбросался
да заебал, во все мои чаты добавился

пора банить

Amit
12.05.2018
10:26:19
Записал выражение в таком виде if variable.nil? == true, IDEшка пишет Expression can be simplified, но по ссылке не нашел подсказки. Может кто подскажет как изящней записать?

Google
Dmitriy
12.05.2018
10:31:02
незачем сравнивать

Amit
12.05.2018
10:43:15
if variable.nil? уже вернет тру или фолс
Да, точно! Работает. Не улавливаю логики, мне то надо выполнить код только в случае true, в случае false выполняется другой код. Как оно работает??

Amit
12.05.2018
10:46:10
if variable.nil? code for true else code for false end
Работает по принципу как у тернарного оператора?

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
12.05.2018
10:46:33
if variable.nil? уже вернет тру или фолс
а если var будет фалс, но не нил?

хотя погодите-ка, я понял ?

или нет

Dmitry
12.05.2018
10:47:39
Ты сам ответил на свой вопрос)

Alex
12.05.2018
10:48:09
или нет
[1] pry(main)> nil.nil? => true [2] pry(main)> true.nil? => false [3] pry(main)> false.nil? => false [4] pry(main)>

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
12.05.2018
10:48:33
но выглядит странно)

Dmitry
12.05.2018
10:49:08
Выглядит ожидаемо)

Alex
12.05.2018
10:49:13
Amit
12.05.2018
10:50:05
Твой вопрос не ясен. Метод nil? возвращает булево значение
Булево понятно, в случае true один код, в случае false выполняется другой код. Вот и спрашиваю, логика по типу как у тернарного оператора?

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
12.05.2018
10:50:23
мля, я условие провтыкал

я думал он сравнивает на Нил и на тело

а он просто проверяет нил тру

тогда конечно ожидаемо)

Иван
12.05.2018
10:51:22
тернарный оператор это и есть аналог if else

Google
Amit
12.05.2018
10:52:28
Иван
12.05.2018
10:53:02
и тут)

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
12.05.2018
10:53:05
Sergey
12.05.2018
11:08:06
Ребята, привет! Здорово, что есть такая группа! Может быть кому-то будет интересно, мы на следующей неделе во вторник будем проводить небольшой митап - Rubizza Hangout. Если есть желание, присоединяйтесь! https://vk.com/rubizza?w=wall-148949841_144

s
12.05.2018
11:44:22
Нет. Классический Rails Way – путь вот к такому
почему классический рейлсвей - это путь к неконсистентной логике?

s
12.05.2018
11:44:48
путь к дерьмово реализованной логике - дерьмовый код и незнание используемых инструментов

потому что он такой?
не конструктивно)

Anton
12.05.2018
11:45:25
путь к дерьмово реализованной логике - дерьмовый код и незнание используемых инструментов
ну хорошо, расскажи как в чистом rails way бизнес логику организовывать

не конструктивно)
а нет конструктива. посмотри на модели, классический пример некосистентной логики в одном месте

s
12.05.2018
11:46:56
если вынести за скобки коллбеки, которые являются одной из опций инструмента, то где в моделях противоречия в логике?

Anton
12.05.2018
11:50:01
если вынести за скобки коллбеки, которые являются одной из опций инструмента, то где в моделях противоречия в логике?
(эх, если бы мне давали доллар за это) смотри, у тебя в моделе: логика работы с базой, с дата объектом (энтити), валидация, колбэки, ассоциации между моделями, логика серелизации данных, логика того, что изменилось в инстансе, ActiveModel::SecurePassword (даже писать ничего не буду) и так далее

это похоже на неконсистентную логику?

ActiveModel::Translation

ну и так далее

это похоже хоть на какую-то согласованность логики? по мне это похоже на свалку всего, что пригодиться

Google
Artur
12.05.2018
11:52:11
АСТАНАВИТЕС

Anton
12.05.2018
11:52:53
кэк

s
12.05.2018
11:53:10
там выше используя термин “неконсистентная логика” я подразумевал создание 2 точек входа, обе из которых должны быть последовательно использованы для сохранения объекта. без более высокоуровнего апи, который соберет это все вместе – это путь к неконсистентности, т.к. сохранение может потребоваться при обработке апи запроса, работы внутренних сервисов, из “админки"

то что ты описал, это не самый лучший дизайн

Alex
12.05.2018
11:53:58
ребята, кто-нибудь использовал xvfb с capybara-webkit внутри докер контейнера? xvfb-run: error: xauth command not found

Anton
12.05.2018
12:01:07
там выше используя термин “неконсистентная логика” я подразумевал создание 2 точек входа, обе из которых должны быть последовательно использованы для сохранения объекта. без более высокоуровнего апи, который соберет это все вместе – это путь к неконсистентности, т.к. сохранение может потребоваться при обработке апи запроса, работы внутренних сервисов, из “админки"
так, почитал чуть дальше. на самом деле, вариант с колбэком тоже не консистентный, но в другом ключе. у тебя будет 1 точка входа, но зато точка входа будет брать на себя много ответственности. к тому же, рано или позно забудут что у тебя модель кроме сохранения еще нотификации шлет и проебутся, так что твоя согласованность тоже нарушится. ну или взять твой пример, админка, апи, вот все это. везде нужны разные валидации, появляются условия и дикая схема валидации, которая пытается описать все на свете. консистенстностью логики тут так то тоже не пахнет

s
12.05.2018
12:04:38
в контексте вопроса – это имо наилучшее решение, потому что советовать автору вопроса применять в этом месте DDD-штуки я бы не стал

менять модель в коллбеке перед сохранением я бы тоже не стал

Admin
ERROR: S client not available

s
12.05.2018
12:05:07
но я сильно уверен, что автору лучше сначала сделать так

потом написать тесты и понять, какое это днище, разруливать коллбек-хелл моделей

и тогда, при хорошем стечении обстоятельств он попробует вынести логику сохранения в отдельный объект

и на каждый случай свой

Anton
12.05.2018
12:06:09
в контексте вопроса – это имо наилучшее решение, потому что советовать автору вопроса применять в этом месте DDD-штуки я бы не стал
не, я же не на вопрос за колбэк заагрился, а на вот это > почему классический рейлсвей - это путь к неконсистентной логике?

так то лучший вариант для автора будет просто взять и сделать

а потом переделать

s
12.05.2018
12:06:42
да)

ActiveModel::Lint::Tests
если под классическим рейлвеем подразумевается использование вот этих коллбеков, то я согласен, что это плохой путь. но тут я считаю, что это опция, которую просто не стоит использовать

не то сообщение зареплаил

ActiveModel::Translation
а что плохого в транслейшн? без трололо. вроде это вполне логичная и понятная часть рельсы)

Google
s
12.05.2018
12:20:32
я книжку Фернандеса не дочитал

про классичейский путь)

Anton
12.05.2018
12:21:16
я даже хз кто это ?

s
12.05.2018
12:21:43
The Rails Way: Obie Fernandez

про рейслвей я лично зацепился потому что часто слышу как ругают рельсу

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

Mikhail
12.05.2018
12:23:58
Cтолько обсуждаете валидации каллбеки, рейлвей а про траллбейзер не вспомнили.

s
12.05.2018
12:24:13
а чего этоо вспоминать в этом контексте?

это же вообще сильно в сторону

s
12.05.2018
12:25:02
или ты про то, что это набор заплаток?

Anton
12.05.2018
12:25:37
но как правило, проблема не в рельсе, а в том, как ругатели решают те или иные задачи
как раз проблема в рельсе, если быть точным, в том, что rails way чаще создает проблемы, чем решает их

Mikhail
12.05.2018
12:25:46
или ты про то, что это набор заплаток?
Именно, как альтернатива тем же форм обджектам.

s
12.05.2018
12:26:18
в рельсе вроде форм-обжекты не формализованы. т.е. как хочешь, так и делай сервис-объект для них

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

Undefined
12.05.2018
17:09:17
Всем привет. Подскажите пожалуйста в чем может быть проблема. Пытаюсь добавить теги к постам в блоге, сделал все как написано в руководстве: https://www.sitepoint.com/tagging-scratch-rails/, с тем лишь условием что у меня модель называется не post а article, но получаю ошибку: uninitialized constant Article::Tags. Модели: article.rb class Article < ApplicationRecord has_many :taggings has_many :tags, through: :taggings has_many :comments, dependent: :destroy validates :title, presence: true, length: { minimum: 5 } def all_tags=(names) self.tags = names.split(",").map do |name| Tag.where(name: name.strip).first_or_create! end end def all_tags self.tags.map(&:name).join(", ") end end tag.rb class Tag < ApplicationRecord has_many :taggings has_many :articles, through: :taggings end tagging.rb class Tagging < ApplicationRecord belongs_to :articles belongs_to :tags end Жалуется вот на этот участок кода: def all_tags=(names) self.tags = names.split(",").map do |name| Tag.where(name: name.strip).first_or_create! end end

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