@rubylang

Страница 1229 из 1684
Loris
03.10.2017
11:34:50
а копейки как считать? умножать на 100?

Igor
03.10.2017
11:35:45
если int то хранил бы сразу копейки

Sergey
03.10.2017
11:35:59
валюта одна?

Igor
03.10.2017
11:36:02
нет

Google
Sergey
03.10.2017
11:36:49
В тунисе 1 динар == 1000 чего-то. Если интом хранить, тут костыли нужны будут.

Еще какие-то валюты тоже возможно понадобиться умножать не на 100

Sergey
03.10.2017
11:38:03
+ decimal

Loris
03.10.2017
11:38:46
для int может оказаться 32 бита, т.е. 21/42 миллиона всего. +1 к deciamal

Igor
03.10.2017
11:38:50
я изначально думал хранить US центы как integer в базе, потом уже делить и отдавать BigDecimal. но почитал, и пишут что можно хранить сразу в децимал

и в случай с децимал всё так же хранить копейки?

Stanislav
03.10.2017
11:41:51
проще всего decimal да, который конвертируется в bigdecimal, не будет потерь точности как у флоатов )

Igor
03.10.2017
11:42:35
Благодарю

Антон
03.10.2017
11:47:34
нет
есть же gem money и money-rails

Mighty
03.10.2017
11:47:46
есть

И он делает очень веселые вещи когда хранишь во float и делаешь конверсии

Google
Антон
03.10.2017
11:48:18
туда-сюда суммы не совпадают?

Stanislav
03.10.2017
11:48:47
Balaklun
03.10.2017
12:08:46
кто может помочь по руби?дайте в лс

Anton
03.10.2017
12:08:53
спрашивай тут

Смерть
03.10.2017
12:10:18
может у него личное, что стыдно на людях показывать

Vasiliy
03.10.2017
12:10:46
у меня слишком короткий метод, это нормально?

Balaklun
03.10.2017
12:18:33
массив из 5 элементов, найти все числа, что есть больше среднего арифмитического

Fedor
03.10.2017
12:24:19
Ну посчитай среднее арифметическое и используй select

Что бы среднее считать пригодятся sum и length

Anton
03.10.2017
12:25:31
Ну посчитай среднее арифметическое и используй select
да ему уже подсказали в другом чате

прямо решение

Fedor
03.10.2017
12:25:45
Не надо так

Надо заставлять людей думать

Хотя бы каленым железом

Nikita
03.10.2017
14:40:26
ребят, кто может подсказать, нужно в feature тест при определенном действии отправлять файл в экшн, делаю: attach_file('import_base_file', "#{Rails.root}/spec/fixtures/cepsa.xls") но в параметрах в экшн он (файл) не приходит

соответственно нет валидации, соответственно нужного контента на странице нет

естественно гуглил

Alex
03.10.2017
14:59:53
в первом аргументе что указываешь?

Nikita
03.10.2017
15:01:32
да вот только что решил проблему, версия PhantomJS была некорректно работающая, поставил 2.1.1 - завелось нормально. в 1 аргументе указываю id)

Google
Baryskhan
03.10.2017
15:55:39
всем привет

у меня че-т комментарий не показывает

паршл выглядит вот так

<% @post.comments.each do |comment| %> <hr /> <div class="comment clearfix"> <div class="comment_content"> <p class="comment_body"><%= comment.body %></p> <p class="comment_body"><%= user.email %></p> <p class="comment_time"><%= time_ago_in_words(comment.created_at) %></p> </div> </div> <hr /> <% end %>

а вот контроллер

def index @post = current_user.posts.build @comment = @post.comments respond_with @posts = Post.all.order('created_at DESC') end

хотя если добавляю коммент, он показывает, если обновить, то нет

Igor
03.10.2017
17:29:38
Что делать если модель слишком жирная но вся логика в ней относится только к этой модели?

Mighty
03.10.2017
17:31:40
Что делать если модель слишком жирная но вся логика в ней относится только к этой модели?
Учитывая что модель предполагает только взаимодействие с датастором, то вся «логика которая относится к этой модели» смело выносится в другие логические структуры

Igor
03.10.2017
17:32:03
например?

Mighty
03.10.2017
17:33:18
например?
Сервисы, стратегии, фабрики

Igor
03.10.2017
17:33:30
вопрос скорее куда вынести эту логику в иерархии файлов рельсы

Mighty
03.10.2017
17:33:57
В иерархии файлов рельсы нет идеологии кроме той что у тебя на уровне с папками моделей и контроллеров может жить все что угодно

начиная от actors, заканчивая workers

Igor
03.10.2017
17:41:50
яснопонянто

a
03.10.2017
19:46:17
Доброго времени суток. Ребят, помогите, я правильно создал модель User? У пользователя может быть много фотографий. У пользователя может быть много комментариев. У пользователя есть комментарии, оставленные под фотографиями. User 1. has_many :photos 2. has_many :comments 3. has_many :photos, through: :comments

Я со связью has_many :through разобраться не могу.

Sergey
03.10.2017
19:55:39
привет, зависит от того, что ты хочешь получить в итоге

это смотрел? http://rusrails.ru/active-record-associations#the-has-many-through-association

Google
Alexander
04.10.2017
07:05:04
сорри, промахнулся

A1ex Lopatin
04.10.2017
07:07:19
redis под eventmachine с помощью em-hiredis, как прочитать значение из редиса? такой метод: 24: def return_long_url(code) 25: shorty = assemble_short_url(code) => 26: binding.pry 27: @redis_server.get(shorty).callback { |long_url| 28: long_url 29: } 30: end возвращает <EventMachine::DefaultDeferrable:0x007f988a2178a0>, а нужно long_url Подскажите, кто дело имел.

Alexander
04.10.2017
07:56:59
Всем привет. Кто-нибудь деплоил приложение 5.0 с вебпакером с помощью капистрано?

Maxim
04.10.2017
07:58:37
а в чем проблема его задеплоить?

Alexander
04.10.2017
08:08:04
падает на assets:precompile, точнее на webpacker:compile, пишет yarn install, а затем валится на версии node, мол я использую 4.2.6 хотя такой версии в системе нет, я ставил node с nvm только одну версию v6...

Maxim
04.10.2017
08:10:40
у меня тоже наду поставленную через nvm не подхватывало, в общем сервер конфигурирую через ansible, ноду ставил через эту роль - ansible-role-nodejs

все нормально пашет

https://github.com/geerlingguy/ansible-role-nodejs

Admin
ERROR: S client not available

Alexander
04.10.2017
08:13:10
спасибо, попробую.

Nikita
04.10.2017
08:53:41
гайс, а субъективно (или объективно если возможно) - чем binding.pry лучше byebug?

Fedor
04.10.2017
08:55:53
праем

почитай про его возможности в доке на гитхабе

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

biert
04.10.2017
08:59:14
нужно мнение експертов, говнокод или нет



Anna
04.10.2017
09:03:41
херня какая-то

Nikita
04.10.2017
09:05:53
@biert у геокодера же есть метод near

biert
04.10.2017
09:07:45
спасибо за наводку

Nikita
04.10.2017
09:08:31
@biert я точно не помню, но вроде-бы он возвращает дистанцию, отсортировал по ней и забрал первого

Google
Nikita
04.10.2017
09:09:57
@biert https://stackoverflow.com/questions/11463940/rails-geocoder-and-near

а, ну вот твой случай

с ордером, первого забирай и все

вот тебе и nearest_driver

biert
04.10.2017
09:12:29
моя ты хорошая

херня какая-то

Anton
04.10.2017
09:13:34
ну, на мой взгляд выглядит слишком запутанно и местами излишне

biert
04.10.2017
09:14:06
да, я тоже так вижу, но пока хочу сделать чтобы работало, а потом рефакторить

Anton
04.10.2017
09:14:13
как минимум, можно от вложенности отказаться строчкой return if drivers.empty?

Nikita
04.10.2017
09:14:15
да я тебе дал ссылку на sa

забери первого с массива, да и все

Gleb
04.10.2017
09:14:40
ну уж driver ||= 0 то тоже можно убрать и поставить дефолтное значение для параметра

Артур
04.10.2017
09:14:46
это ты че прям в модели такие методы большие держишь ?

biert
04.10.2017
09:16:38
куда посоветуешь перенести

Anton
04.10.2017
09:17:19
в отдельные классы?

Артур
04.10.2017
09:17:56
тесты пишешь под это дело ?

Gleb
04.10.2017
09:18:26
куда посоветуешь перенести
https://github.com/collectiveidea/interactor http://trailblazer.to/gems/operation/2.0/index.html https://github.com/dry-rb/dry-transaction

biert
04.10.2017
09:20:40
я пока не разобрался еще нормально с со всем этим, спасибо вам

но я не могу понять поймет ли оно где искать в базе

Driver.near([self.user.latitude, self.user.longitude], MAX_DISTANCE_FOR_DRIVER, :units => :km)

create_table "drivers", force: :cascade do |t| ... t.float "latitude" t.float "longitude" ... end

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