
Eugene
13.01.2017
07:47:33
2017

Дмитрий
13.01.2017
07:49:23
А почему? что тогда фреймворки и библиотеки?

Eugene
13.01.2017
07:51:34
Зачем для простого ajax использовать библиотеки?

Nork
13.01.2017
07:52:27

Google

Eugene
13.01.2017
07:52:27
Js templates это как раз и будет библиотека, и клиент начнет зависить от рельсы
app/views/users/create.js.erb

Дмитрий
13.01.2017
07:54:05

Eugene
13.01.2017
07:54:34

Дмитрий
13.01.2017
07:55:24
просто я не догоняю, чем плохо то что я предложил((

Eugene
13.01.2017
07:55:48

Дмитрий
13.01.2017
08:00:12
"ну так джээсом прямо во вьюхе" - блин, ну я это и имел ввиду, думал, что уже что-то новое есть, чего я не знаю

Karina
13.01.2017
08:28:06
да чё вы. делаете
$("#id").html("#{escape_javascript(render('variable_name_in_controller'))}")
и всё прекрасненько

Антон
13.01.2017
08:29:12
прикниь если еще цифра старая и новая совпадут
еще ведь и дебажить будут :)
я 4 часа дебажил код который дату возвращал 11.11.11
оказалось что это верная дата

Michael
13.01.2017
08:54:10
Добрый день
подскажите пожалуйста более простой метод, сравнения данных объекта с данными хеша
def has_new_params?(flight_data)
flight_data = {
aircraft_reg: flight_data[:tail_no],
payload: flight_data[:pkz].to_i,
pax_capacity: flight_data[:sale_limit].to_i,
adult: flight_data[:adult].to_i,
child: flight_data[:child].to_i,
infant: flight_data[:infant].to_i,
aircraft_type: flight_data[:type_vs]
}
@flight.serializable_hash(only: flight_data.keys).symbolize_keys == flight_data
end

Google

Антон
13.01.2017
09:14:57
я не знаю
его скорее всего нет
во вторых, ты уже все написал, не усложняй

Michael
13.01.2017
09:15:49

v
13.01.2017
09:59:06
нет бы старый добрый
$.ajax(
url: "/phrases"
type: "GET"
headers:
"Authorization": "Token token=#{window.token}"
dataType: "html").done (data, textStatus, jqXHR) ->
window.token = jqXHR.getResponseHeader("Authorization")
$(document.body).append(data + "<br/>")
return

Di
13.01.2017
11:25:17
Братцы, а про кеш в рейлс подскажите такой момент - не могу сгуглить.
У нас кеш для объекта идет примерно так object/id-updated_at_timestamp/view-digest
А когда рельсы читают из кеша - идентифицируют один кусок от другого по айди, тамстамп, и дигесту
А вот то что до слеша не влияет получается? То есть если object другой, но айди, таймстамп и дигест совпадает - то это считается тот же кеш? Во всяком случае из экспериментов у меня так получается.

Victor
13.01.2017
11:31:13
а в object что лежит? имя таблицы?

Andrey
13.01.2017
11:41:53
Коллеги, я хочу принимать запросы, у которых тело состоит только из JSON-массива. Что мне надо написать в params.permit?
params.permit([:id, :title, :notes, :done, :order]) вот это же один объект подразумевает, верно?
и как этот массив я потом смогу в тестах передавать? там же вроде сугубо ключ-значение

Victor
13.01.2017
11:44:32
попробуй вот так
params.permit(objects: [])
понадобится засунуть массив в {"objects": array goes here}

Антон
13.01.2017
11:46:12

Andrey
13.01.2017
11:46:44
хочу просто массив фигачить

Victor
13.01.2017
11:47:08
params.require(:log_entry).permit! ?

Антон
13.01.2017
11:47:17
как выглядят парамс?

Google

Andrey
13.01.2017
11:48:11
пока никак, ибо тест я на эту гадость тоже пока написать не могу
но {“objects”: []} - это нормальная практика, думаете?

Victor
13.01.2017
11:48:41
как я понимаю, хочется такого [{"k":"v"}, {"k":"v"}, {"k":"v"}]

Di
13.01.2017
11:48:43
Я просто хотел спросить - кеши
question/17-timestamp/question-view-digest и
answer/17-timestamp/question-view-digest
похоже что с точки зрения рельсов - это тоже самое.
То есть что что до слеша - пофиг. Ну, судя по моим экспериментамю

Andrey
13.01.2017
11:49:20

Victor
13.01.2017
11:49:44
именно
http://stackoverflow.com/questions/31488536/posting-a-json-array-to-rails-server
тут пишут, что либо нельзя, либо самому парсить

Di
13.01.2017
11:51:18
Да? Спасиб, поэкспериментирую поподробнее, отпишусь. Ни в гайдах ни в мануалах про это не говорят. А препод говорил только про КЛЮЧИ, то есть айди и таймстамп с дайжестом. Вот я и подумал что префикс пофиг.

Victor
13.01.2017
11:53:20

Di
13.01.2017
11:54:13
Кстати да. Может действительно я неправильно интерпретировал собственную ошибку, сейчас выясню...

Victor
13.01.2017
11:54:55
а кеш то какой, Rails.cache.fetch?

Victor
13.01.2017
11:55:06
или страниц? или экшенов?

Di
13.01.2017
11:56:03
Фрагментов. Пытаюсь Russian doll сделать.

Victor
13.01.2017
11:56:27
вообще, похоже, что ты пытешься сам сделать cache_key. Вопрос: а зачем? ну и хинт - посмотри в код рельс, как там сделано
а, fragment cache. тут сорри, не помогу, ни разу его не трогал

Di
13.01.2017
11:58:56
Идея в чем: есть комменты, хотим их кешить. Но юзеру, гостю и админу надо показывать коммент с разными кнопками - гость без кнопок, у админа все, у юзера часть. Если делать просто question/id-timestamp, тогда и админу и юзеру покажет одинаковые кнопки, что неправильно.

Victor
13.01.2017
11:59:57
хм, идея учебная? я в том смысле, что надо именно разобраться, или это попытка ускорить продакшен?
потому что если прод - я слабо верю, что у вас такой траффик, что надо кешировать камменты

Di
13.01.2017
12:00:59
А если в зависимости от прав сделать пути /true/true/false/id-time
и /false/false/false/id-time то должны быть разные кеши по идее, но похоже что рельсы смотрят только на id-time

Google

Di
13.01.2017
12:01:03
Учебная
У меня маленько всё грохнулось в процессе, сейчас восстановлю и разберусь более подробно. По идее ты прав, что кеш должен идентифицироваться просто по строке, без парсинга слешей и прочей ботвы.

Victor
13.01.2017
12:02:16
нет, смотри, рельсы не должны парсить ключ вообще, пол хорошему, эта тсрока проваливается прямо в редис/мемкеш без парсинга. Может дело в том, что у тебя файловый кеш?

Di
13.01.2017
12:02:32
В редисе кеш

Victor
13.01.2017
12:02:36
вообще, http://guides.rubyonrails.org/caching_with_rails.html
и сорсы самих рельс )))
ну поставь бряку перед вызовом redis.get и посмотри, что в ключ идет

Di
13.01.2017
12:03:20
Но я сам думаю в сторону своего косяка, просто хотелось от опытного товарища подтверждения.

Victor
13.01.2017
12:03:32
только не бряку, а путс

Di
13.01.2017
12:03:59
Гайды курил, там вроде про это молчок. А от сорцов опасаюсь что мозг взорвется. =)

Admin
ERROR: S client not available

Антон
13.01.2017
12:05:36

Victor
13.01.2017
12:06:02
погоди, а как ты свой cache key релизовал?

Di
13.01.2017
12:10:54
cache [can?(edit), can?(delete), comment]
Ну примерно так.
У меня соответсвенно записывается /true/false/17-время_апдейта
У для админа пишется /tru/tru/17-время_апдейта

Антон
13.01.2017
12:13:25

Di
13.01.2017
12:14:16
Ок, ща разберемся, может у меня тупо рендерилось не верно.

Антон
13.01.2017
12:14:19
все ок, что меня смущает, так это хранение такого количество объектов в редисе/мемкеше

Victor
13.01.2017
12:14:48

Google

Антон
13.01.2017
12:16:36
именно
вообще не очень хорошо так делать
по ряду причин, так делать можно, но нужно четко понимать,
что если второй объект сломается, то остальные объекты канут в лету
тут тонкая грань между "миллион объектов и нужна пакетная обработка" и "лучше 500 простых запросов, чем пакет с 500 объектов"
тонкая, ага, между 500 и 1_000_000 ?

Victor
13.01.2017
12:40:01
вообще не очень хорошо так делать
по ряду причин, так делать можно, но нужно четко понимать,
что если второй объект сломается, то остальные объекты канут в лету
Если в трай кетч обернуть, то можно пытаться сохранить все что можно, а на остальное отдать ошибки, но да, это сильно усложнит всё. Вообще, по ощущениям, началась борьба с фреймворком и есть смысл перестать бороться и уступить рельсам ))

Антон
13.01.2017
13:11:40

Di
13.01.2017
13:18:28
Про пути кешей - всё верно вы сказали, это где то я облапошился. Перелал, заработало как и предполагал. Спасибо!

Дмитрий
13.01.2017
13:21:59
А киньте кто-нибудь скриншот своих коммитов,
а то чето не пойму как у людей получается по 160 коммитов делать

Сергей
13.01.2017
13:22:41
У меня такого нет. Я много в гитлабе сижу

Дмитрий
13.01.2017
13:23:15
так это и есть гитлаб

Сергей
13.01.2017
13:23:22
О
Точно
Не так уж и много =(

Дмитрий
13.01.2017
13:24:23
Вот у меня на раб парень хуячит:

Alex
13.01.2017
13:25:00
за один день чтоли?

Дмитрий
13.01.2017
13:25:09
О-го, че за работа - все выходные забиты?

Сергей
13.01.2017
13:25:48

Дмитрий
13.01.2017
13:26:05
Ну это я максимальный нашел - а так от 60 до 100 в среднем