
ojab
01.11.2016
21:58:58
ruby tails там -> https://telegram.me/ruby_talks

Dmitriy
02.11.2016
00:44:31
Всем привет.
На проект нужен Ruby разработчик, работа remote, part-time
Нужно разработать Админ панель и API для мобильного приложения на iOS
Кому интересно, пишите в ЛС
З/п: (индивидуально, в зависимости от вашего опыта.)
#работа

Alexander
02.11.2016
01:27:27

Vitaly
02.11.2016
04:19:25

Google

Artur
02.11.2016
04:19:43
там присваивание
Как-то после выходных написал значит условие, а оно не работает. Полчаса искал причину, а все оказалось вот в том, что присваивал :(

Rafkat
02.11.2016
04:20:15

Vitaly
02.11.2016
05:14:40
кто нибудь тесты на upwork по рельсам проходил?
у них там есть вопрос - что выведет puts [*a]?
# а обьявлена заранее как a = [1,2,3]
и варианты ответа предлагают только такие:
[[1,2,3]]
или
[1,2,3]
но puts выводит в любом случае все по строчно :
1
2
3
то что они хотят это делает print
и как их понимать?

Artur
02.11.2016
05:21:13
я им уже репортил по их вопросам, там несколько дебильных

Artemy
02.11.2016
06:10:03
привет всем, есть вопрос по strong params как их по уму смержить:
p = params.require(:obj).permit(:par1)
if ...
p.merge(:obj => [:par2])
end
в общем идея в том что список разрешенных параметров надо расширить по условию

Alex
02.11.2016
06:11:50
пример условия?

Michael
02.11.2016
06:12:50
params = [:par1]
if .....
params << %i(par2)
end
self.params.require(:obj).permit(params)
не?

Artemy
02.11.2016
06:13:24
а permit вообще на вход принимает массив хеш?

I
02.11.2016
06:15:00
в том числе

Google

I
02.11.2016
06:15:27
из документации:
permitted = params.permit(person: [ :name, { pets: :name } ])

Alex
02.11.2016
06:17:54
splat забыл не?
@lutsko86

Artemy
02.11.2016
06:18:06
вот так прокатило:
p1 = [:p1, :bar]
case params[:foo][:bar].to_i
when 1
p1 = p1 + [:p2, :p3]
else
#
end
params.require(:foo).permit(p1)
т.е. формировать массив параметров и засылать его в permit

Alex
02.11.2016
06:18:55
а что за кейс что надо динамически параметры определять?

Artemy
02.11.2016
06:20:25
я юзаю sti есть модели с общими параметрами и различными, экшн будет один их принимать

Michael
02.11.2016
06:20:28
как по мне p1 = p1 + [:p2, :p3] не очень, зачем переопределять p1 если ты можешь просто добавить парамметры в существующим

I
02.11.2016
06:20:53

Artemy
02.11.2016
06:21:04
ну это на скорую руку, мне просто принцип надо было понять

Michael
02.11.2016
06:21:14
ясно

Alex
02.11.2016
06:23:47
там без splat работает? ну ок тогда
значит он нормально массивы воспринимает.

Artemy
02.11.2016
06:26:57
ага скорее всего и с хешами прокатит, я просто смотрел там что-то типа такое params.require(:foo).permit(p1).permit(p2)

I
02.11.2016
06:27:16
товарищи, смотрите в сорсы
там все отлично написано
и куча примеров

Artemy
02.11.2016
06:27:29
норм совет ))

Google

Michael
02.11.2016
06:27:46

I
02.11.2016
06:28:02
да

Artemy
02.11.2016
06:28:28

I
02.11.2016
06:29:14
не обязательно, можно и на синтаксическое дерево смотреть сперва

Konstantin
02.11.2016
06:30:03
э
пираты в чяти

Michael
02.11.2016
06:30:42

I
02.11.2016
06:31:29
ну не знаю, у меня на работе куча книг - и, пожалуйста, можно взять любую из них. Называется это дело библиотека. А по сути то же пиратство, о боже мой

Michael
02.11.2016
06:33:46
помоему прямо твой случай
params = ActionController::Parameters.new({
person: {
name: 'Francesco',
age: 22,
pets: [{
name: 'Purplish',
category: 'dogs'
}]
}
})
permitted = params.permit(person: [ :name, { pets: :name } ])
permitted.permitted? # => true
permitted[:person][:name] # => "Francesco"
permitted[:person][:age] # => nil
permitted[:person][:pets][0][:name] # => "Purplish"
permitted[:person][:pets][0][:category] # => nil

I
02.11.2016
06:34:26

Michael
02.11.2016
06:35:15

Artemy
02.11.2016
06:35:38
не знаю как у вас но я активно использую принцип kiss, есть идея как реализовать, пробуешь, оно работает, уже потом если оно не работает как надо или тормозит, лезу в доки, в частности в этом случае формировать массив и загонять его в permit мне достаточно

I
02.11.2016
06:36:30
ну не парой, сорри, 20 минут назад)
из документации:
permitted = params.permit(person: [ :name, { pets: :name } ])

Michael
02.11.2016
06:37:19
ладно, пора приниматься за работу)))

Alex
02.11.2016
06:37:32

Michael
02.11.2016
06:37:33
а то я что то запис в чате)))

I
02.11.2016
06:37:35
надо на нее еще выползти(

Michael
02.11.2016
06:37:56

Google

Admin
ERROR: S client not available

Artemy
02.11.2016
06:38:17

Alex
02.11.2016
06:38:35
А основное это что?

I
02.11.2016
06:40:00

Vitaly
02.11.2016
06:51:20
а кто нибудь работает на FL?

Alex
02.11.2016
06:51:41
нищебродская же контора, ну
сколько у них скандалов то было

Artur
02.11.2016
06:52:10

Vitaly
02.11.2016
06:54:12

Alex
02.11.2016
06:54:46
В том то и дело.

Aldar
02.11.2016
06:55:53
fl это что?
русская площадка?

I
02.11.2016
06:56:12
fl.ru, видимо

Alex
02.11.2016
06:58:45
У них сливали кодовую базу где хранились секреты прямо в коде, у них запрещали общаться заказчикам напрямую с исполнителями (публиковать скайп и т.д) и для выполнения этого они читали личную переписку между исполнителем и заказчиком

Vitaly
02.11.2016
06:59:00
блин по рубям там вообще мало

Alex
02.11.2016
06:59:18
Так руби не распространен в СНГ
он больше забугорный.

Vitaly
02.11.2016
07:00:16
только вот прикол странный - у нас если требуется кто по руби, то это должен быть какой-то супер мен - куча требований. а забугром требований гораздо меньше. почему? не боятся риска?

Alex
02.11.2016
07:01:35
Рынок больше
Да и с экономикой имхо у них проблем меньше

Google

Антон
02.11.2016
08:22:56

Alexander
02.11.2016
08:23:28

Alex
02.11.2016
08:25:26
Почему?
потому что не так сходу очевидна?

Alexander
02.11.2016
08:26:41
да, неочевидно

Konstantin
02.11.2016
08:27:34
нормальная практика

Alexander
02.11.2016
08:27:41
в си
я как бы не спорю, можно хоть как писать
просто от практики присвоения в кондишене уходят