Alexey
15.01.2018
11:09:01
https://github.com/plataformatec/devise/wiki/How-To:-sign-in-and-out-a-user-in-Request-type-specs-(specs-tagged-with-type:-:request) хотя вот и для реквест спеков тоже можно (это другой способ и для контроллера сработать не должен)
https://github.com/plataformatec/devise/wiki/How-To:-Test-with-Capybara и вдогонку для фича тестов
хотя я обычно писал отдельное описание логина по шагам как это делает пользователь в функции и переиспользовал, но это дольше
Женя
15.01.2018
11:13:57
Спасибо большое)
Google
Roni_sl
15.01.2018
13:24:58
Всем привет, получаю из бд такую строку: "Обман ÐдминиÑтрации" в кодировке Windows-1252, как ее можно расшифровать? Пробовал энкодить в UTF-8, но не помогает :/
ojab
15.01.2018
13:29:10
.encode('CP1252', 'UTF-8').force_encoding('UTF-8')
но вообще лучше кодировку БД сменить, да
Roni_sl
15.01.2018
13:34:07
Там беда в том, что бд и так в UTF-8, а данные в нее поступают в CP1252 :/
И менять на стороне ввода данных все - болезнено
> U+0090 to WINDOWS-1252 in conversion from UTF-8 to WINDOWS-1252 (Encoding::UndefinedConversionError)
ojab
15.01.2018
13:35:53
CP1252 не содержит символов кириллицы, так что ты что-то недоговариваешь
Roman
15.01.2018
13:36:46
Как вариант, можешь добавить в модель колбэк before_save, и в нем менять кодировку
Roni_sl
15.01.2018
13:36:50
Может я не прав, https://2cyr.com/decode/?lang=ru выдал, что это CP1252
Это внешняя БД из который только вывести информацию нужно
ojab
15.01.2018
13:37:20
то есть ты на самом деле не знаешь, в каком виде поступают данные?
Roni_sl
15.01.2018
13:37:40
Уверенно сказать не могу
Но на том же сайте с декодером при таких параметрах адекватный текст отображается
Google
Roni_sl
15.01.2018
13:38:31
https://i.imgur.com/6WJQBxE.png
ojab
15.01.2018
13:42:07
mkay, а в базе что лежит?
(если не рельсами вытаскивать)
и какая там кодировка, соответственно, стоит
есть вероятность что достаточно поменять кодировку в database.yml
(или в параметрах соеднинения, если это не рельсы)
Roni_sl
15.01.2018
13:44:39
У самой БД utf8
Приходит в ней же
В параметрах соединения не указывал ничего
client = Mysql2::Client.new(host: "localhost", username: "user", database: "db", password: "pass")
result = client.query("SELECT * FROM serverguard_bans").to_a.sort_by {|k| -k["start_time"] }
Roman
15.01.2018
13:49:13
ох я столько намудохался когда-то с похожей задачей. был готовый бекенд на пхп, который писал в 1251 в базу, и надо было все это не нарушая подружить с рельсами
но в результате у меня действительно заработало все почти искаропки, даже без указанного в database.yml
Roni_sl
15.01.2018
13:50:32
У меня попроще задача, правильно отобразить в браузере
Без других манипуляций
Но я уже что только не пробовал D:
Roman
15.01.2018
13:51:01
а кто кладет в базу?
Roni_sl
15.01.2018
13:51:19
Lua скрипты
с игрового сервера
Roman
15.01.2018
13:51:36
ага, ну так а в чем проблема перекодировать при выводе?
Roni_sl
15.01.2018
13:52:14
Я и пытаюсь, выдает ошибку, которую кидал выше
Google
Roman
15.01.2018
13:52:29
.force_encoding('CP1252').encode('UTF-8')
вот так надо
Roni_sl
15.01.2018
13:52:58
> "\x90" to UTF-8 in conversion from Windows-1252 to UTF-8 (Encoding::UndefinedConversionError)
Vasiliy
15.01.2018
13:53:30
а скинь строку
что у тебя там в базе
Roni_sl
15.01.2018
13:54:11
Вот одна из: "Обман ÐдминиÑтрации"
Vasiliy
15.01.2018
13:54:20
нашёл да
Roman
15.01.2018
13:57:07
это не утф вообще
это 1251 перекодированный в 1252
но чет у меня все равно не получается развернуть его
Vasiliy
15.01.2018
14:02:51
собственно 1 ссылка
http://archive.jalada.co.uk/2011/12/07/solving-latin1-and-utf8-errors-for-good-in-ruby.html
https://stackoverflow.com/questions/29239318/in-ruby-how-to-utf-8-encode-this-weird-character
Roman
15.01.2018
14:04:42
хм внатуре
ojab
15.01.2018
14:04:57
у него не из mysql криво приходит, у него в myqsl криво записывается
Roman
15.01.2018
14:05:05
это получается не просто неправильно перекодировано - это именно побитый текст
Vasiliy
15.01.2018
14:08:16
такое вроде бывает когда текст в разных кодировках изначально
Roni_sl
15.01.2018
14:08:46
https://i.imgur.com/f0YfJrX.png
Выдает пустую строку
Vasiliy
15.01.2018
14:11:48
ojab
15.01.2018
14:15:48
> "Обман ÐдминиÑтрации".encode('CP1252', 'UTF-8').force_encoding('UTF-8')
=> "Обман \xD0дмини\xD1трации"
Google
Roni_sl
15.01.2018
14:17:36
Спасибо, действительно, оказывается у меня шрифт не могу в кириллицу в консоли D:
Как я понял, мне подобную таблицу нужно для всех кириллических символов сделать, так как местами до сих пор получаю ошибки
Alena
15.01.2018
17:10:12
привет
еще никогда нероку не ругался, не могу понять что не так .Подскажите кто плиз
rekero
15.01.2018
17:15:11
status=503
либо перегрузка, либо работы на сервере
Alena
15.01.2018
17:22:55
спс
получается ошибки нет
?
rekero
15.01.2018
17:24:57
хотя у хероку там свои ошибки
https://devcenter.heroku.com/articles/error-codes#h10-app-crashed
выше по логу посмотри что
Alena
15.01.2018
17:30:11
спасибо!
?
15.01.2018
18:16:12
Roni_sl
15.01.2018
18:16:38
?
15.01.2018
18:16:51
Пароль классный
Roni_sl
15.01.2018
18:17:32
Я перед отправкой заменил данные
?
15.01.2018
18:17:43
Ок
Roman
15.01.2018
20:38:57
вверху бектрейса что?
Google
Максим
16.01.2018
10:19:03
ребзи я чёт гуглю не могу найти
как лучше если у меня апи поднимать ошибку "не авторизован"?
типа рендерить джсоном?
типа render raise json: Unauthorised или как?
ojab
16.01.2018
10:20:03
HTTP 401
Roman
16.01.2018
10:22:40
return head :unauthorized
Максим
16.01.2018
10:30:10
у нас просто ща новый проект
и роли пока не сделаны
и я делают ипа заглушку для проверки прав на удаление пользователей
сделал так
def allowed?(user)
render json: {error: 'Не авторизован'}, status: 401 unless current_user&.id == @model.id || current_user&.email == 'sophie@of.ru'
end
пойдёт?
в бефо экшн на нужные методы запихнул
ай
стоп
уже вижу глупейшую ошибку
мне не нужен параметр, куррент юзер и так уже есть
ну а так вообще ноорм?
или лучше практика есть для такой заглушечки?