@rubylang

Страница 935 из 1684
Антон
13.03.2017
06:12:22
читать всеже лучше AR потму, что отталкиваться нужно не от ненормальности форм данных а от объектной модели

если объектная модель будет нормальной то и данные будут нормальныим

Evgeny
13.03.2017
07:06:56
Народ, если мне нужно например искать объявления по городам/регионам/странам и у меня для этого отдельные таблицы, но вот какой то говнокод получается, если у меня в таблице объявлений city_id. Если мне нужно искать по региону полностью то вижу два варианта, либо делать запрос в бд поиск по всем объявлениям где city_id соотвувтвует city.region и т.п. Но если бы я сделал одну таблицу полиморфную типа Location с полем type, который указываыл бы тип локации, то было бы проще искать просто по id т.к. он будет уникален(как то думал даже сделать уникальный id среди несокльких табилц). Кто как делал подобное?

Andrey
13.03.2017
07:11:47
Делаешь таблицу geography, там складываешь все регионы, города и страны, а они между собой ссылаются на свох родителей

Google
Evgeny
13.03.2017
07:13:05
Промежуточная таблица получается для связей чисто да?

Антон
13.03.2017
07:19:13
можно именовать все объекты по мере их уменьшения [земля, россия, челябинская область, челябинск] [222, 3333, 4444, 5555] соотвественно дергаешь все объявления у которых в location_ids присутсвует айдишник по которому ты ищешь

Смерть
13.03.2017
07:20:06
Мини оффтоп, но не хочу из-за него в рубитолкс идти.

Из-за того, что в руби мире очень много людей без компьютер саенс бекграунда, я очень часто не понимаю, что хотят люди. Например часто вопросы в этом чате я часто понимаю слишком сложно, что люжди спрашивают о каких-то нюансах или деталях. А на самом деле они спрашивают базовые вопросы, но из-за того, что не знают о чем спрашивают, создается лодное ощущение сложности.

Вот, это все, что я хотел сказать.

Evgeny
13.03.2017
07:28:53
Есть еще вариант добавить в объявление region_id и country_id, тоже будет решением, но как с точки зрения архитектуры хз

А полиморфная таблица мне импонирует тоже

На авито смотрел там ппц id 600тыс +

Возможно там одная таблица и там атррибут еще есть parent

Vasiliy
13.03.2017
07:31:58
сделай прост 3 таблицы

страны регионы города

Evgeny
13.03.2017
07:32:34
Так и есть сейчас

Vasiliy
13.03.2017
07:32:38
и заставляй этих кожанных мешков вбивать всё

Google
Evgeny
13.03.2017
07:33:17
Смысл заставлять если по городу и так можно отпределить родителя. В общем остановлюсь на nested_set

Категории так же сделаны

И там само все отработает как нужно

parent.children

Evgeny
13.03.2017
07:50:33
Ну да, в этом плане nested set будет лучше

Vasiliy
13.03.2017
07:51:29
так то да ?

Alex
13.03.2017
10:33:11
Люди, подскажите плиз

есть сервак с rails-приложением, которое задеплоено capistrano

I
13.03.2017
10:35:03
надо его взломать?)

Alex
13.03.2017
10:35:09
можно ли как-то установить, адрес, где хранится репозиторий кода

установить git origin

ojab
13.03.2017
10:35:55
:repo_url в config/deploy.rb

Alex
13.03.2017
10:36:15
мммм, спасибо!

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

ojab
13.03.2017
10:59:03
в /[deploy_to]/repo лежит репозиторий, его можно склонировать

Alex
13.03.2017
10:59:49
спасибо )) надо изучить капистрано

Смерть
13.03.2017
11:39:56


адрес этот?

skynet
13.03.2017
11:44:13
адрес этот?
https://t.me/ruby_talks

Google
Смерть
13.03.2017
11:44:30
да. Значит из-за региона

Задам тогда вопрос тут. На FL.ru нужен платный акк, чтобы откликаться на работу?

skynet
13.03.2017
11:46:21
вроде нет

Vasiliy
13.03.2017
11:46:23
Вродь сколько то там(3-5) бесплатно в месяц

Смерть
13.03.2017
11:47:30
а у меня чет нету этих 3-5 даже

Dmytro
13.03.2017
11:48:25
может лучше в ТП fl.ru писать?

Денис
13.03.2017
12:00:32
привет, а подскажите, пожалуйста, откуда в параметрах берутся ASCII-8BIT символы и как с ними бороться? Encoding::CompatibilityError ·spree/products#brand incompatible character encodings: UTF-8 and ASCII-8BIT

nginx + unicorn + postgres

не потому ли, что в nginx charset utf-8; не стоял?

skynet
13.03.2017
12:06:33
возможно

не потому ли, что в nginx charset utf-8; не стоял?
def to_s # :nodoc: return location if passed? and not skipped? failures.map { |failure| # "#{failure.result_label}:\n#{self.location}:\n#{failure.message}\n" "#{failure.result_label}:\n#{self.location}:\n#{failure.message\ .force_encoding('utf-8')}\n" }.join "\n" end

через к примеру какой нибудь force encoding

Денис
13.03.2017
12:08:13
ну это не решение проблемы, а решение последствий

skynet
13.03.2017
12:08:34
а в nginx сейчас все поставил?

Денис
13.03.2017
12:09:12
charset поставил

"slug"=>"bella-aurora\x85" вот такая штука ещё почему то вызывает ActionController::BadRequest

в поиске по slug

ojab
13.03.2017
12:11:09
с backtrace'ом сообщения об ошибках были бы во много раз полезнее

Sergey
13.03.2017
13:00:20
Господа, как лучше тестировать приложение где половина "моделей" вынесена в микросервисы? Первая проблема со стандартным подходом через webmock в том, что чтобы только отрендерить одну страницу в капибаре сейчас необходимо замокать два десятка урлов, а потом еще необходимо изменять их ответы, в зависимости от того, что было отправлено в микросервисы. Вторая проблема: если микросервис станет работать иначе, то в основном приложении тесты будут всегда зелеными, т.к. там все замокано. Пока не придумал ничего лучше, чем запускать эти микросервисы вместе с тестами основного приложения и тестировать все вместе. Может у кого был подобный опыт?

Google
Кøе-ктø Геннадьевич
13.03.2017
13:02:38
Чят, вопрос. Кто нибудь имел дело с wkhtmltopdf + pdfkit для рендера pdf'ок в приложении?

Как ему указать на директорию с картинками?

Sergey
13.03.2017
13:05:18
Они и так покрыты, вопрос стоит о тестировании основного приложения.

ojab
13.03.2017
13:05:47
vcr прикрутить вместо webmock'a?

Sergey
13.03.2017
13:07:50
Т.е. в первый раз придется протестировать вместе со всеми микросервисами, чтобы он записал?

Admin
ERROR: S client not available

ojab
13.03.2017
13:08:11
ага, и перетестировать при изменениях

Dmitry
13.03.2017
13:09:32
как вывести из хеша пары где values не nil

Sergey
13.03.2017
13:09:37
Вроде должно сработать. Попробую, спасибо!

Dmitry
13.03.2017
13:09:43
{:id=>1, :utm_source=>"1", :utm_medium=>nil, :utm_campaign=>nil, :utm_ad=>nil, :utm_term=>nil, :_openstat=>nil}

ojab
13.03.2017
13:10:14
.select { |k, v| v.nil? }

эм, .reject то бишь, да

Василий
13.03.2017
13:11:09
{q: 1, w: nil}.compact => {:q=>1}

Vasiliy
13.03.2017
13:38:16
ребят, а как реализовать такую валидацию, что например есть пользователь, у него есть телефон. Мы можем создать пользователя без телефона, но если потом он ведёт телефон, то это поле уже нельзя сделать пустым, напрашивается что-то типа validates :phone, presence: true, if: phone_changed? - верно?

ojab
13.03.2017
13:41:08
ага

Evgeniy
13.03.2017
13:47:17
только там наверное if: :phone_changed? что бы вызывался инстанс метод.. Иначе он будет искать этот метод в классе

Денис
13.03.2017
13:52:56
{ "controller": "spree/products", "action": "brand", "slug": "bella-aurora�" }

Google
Eugene
13.03.2017
14:42:28
2.3.1 :012 > Step.all.to_a.pluck(:created_at).reduce(Hash.new(0)){|h, e| h[e]+=1; h} Step Load (0.3ms) SELECT steps.* FROM steps => {Mon, 13 Mar 2017 11:41:31 UTC +00:00=>1, Mon, 13 Mar 2017 11:41:43 UTC +00:00=>1, Mon, 13 Mar 2017 11:42:09 UTC +00:00=>1, Mon, 13 Mar 2017 11:42:26 UTC +00:00=>1, Mon, 13 Mar 2017 11:56:30 UTC +00:00=>1, Mon, 13 Mar 2017 11:57:33 UTC +00:00=>1, Mon, 13 Mar 2017 11:58:07 UTC +00:00=>1, Mon, 13 Mar 2017 11:58:22 UTC +00:00=>1, Mon, 13 Mar 2017 11:58:35 UTC +00:00=>1, Mon, 13 Mar 2017 13:23:50 UTC +00:00=>1, Mon, 13 Mar 2017 13:46:27 UTC +00:00=>1}

ребят а как мне из created_at вынять число дня в месяце

{ первый день: количество инструкций в этот день, ... , 31 день: кол-во инструкций в этот день}

надо тип такое

Дмитрий
13.03.2017
14:43:55
created_at.wday

Eugene
13.03.2017
14:43:59
а

.3.1 :017 > Step.all.to_a.pluck(:created_at.day).reduce(Hash.new(0)){|h, e| h[e]+=1; h} Step Load (0.3ms) SELECT steps.* FROM steps NoMethodError: undefined method `day' for :created_at:Symbol from (irb):17

я как бы не знаю, может не то что

Ruslan
13.03.2017
14:46:23
так нельзя

pluck(:created_at)

Eugene
13.03.2017
14:46:37
ну, я сахарка рельсы не видел

Ruslan
13.03.2017
14:46:38
там нельзя вызывать методы

если ты хочешь именно селектить день из БД

Eugene
13.03.2017
14:47:30
а как?

Nikita
13.03.2017
14:47:49
ну селекти created_at

выводи @var.day

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

или конкретной?

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