То, что для меня решило, делает 2 вещи: 1. Создайте нового пользователя, кроме root, с помощью некоторого пароля, используя следующие команды:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost';
FLUSH PRIVILEGES;
2. комментарий IP-адрес на mysqld.conf
, затем подключиться с новым именем пользователя и паролем. он должен работать.
Методы подчеркивание и humanize предназначены для преобразования между таблицы, имена классов / пакетов и т. д. Лучше использовать свой собственный код для замены, чтобы избежать сюрпризов. См. Комментарии.
"SomeWordHere".underscore => "some_word_here"
"SomeWordHere".underscore.humanize => "Some word here"
"SomeWordHere".underscore.humanize.downcase => "some word here"
Вы можете использовать регулярное выражение:
puts "SomeWordHere".gsub(/[a-zA-Z](?=[A-Z])/, '\0 ').downcase
Вывод:
some word here
Одна из причин, по которой вы можете предпочесть это, заключается в том, что ваш ввод может содержать дефисы или символы подчеркивания, и вы не хочу заменять их пробелами:
puts "Foo-BarBaz".underscore.gsub('_', ' ')
puts "Foo-BarBaz".gsub(/[a-zA-Z](?=[A-Z])/, '\0 ').downcase
Вывод:
foo bar baz
foo-bar baz
Нет, я не знаю встроенного метода. Есть ли более эффективный вариант, чем однострочный? Не думаю. Возможно, очеловечивает
вместо gsub
, но вы не получите точно такой же результат.