Ruby on Rails: преобразование SomeWordHere в какое-то слово здесь

То, что для меня решило, делает 2 вещи: 1. Создайте нового пользователя, кроме root, с помощью некоторого пароля, используя следующие команды:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost';
FLUSH PRIVILEGES;

2. комментарий IP-адрес на mysqld.conf

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

14
задан sjsc 16 May 2010 в 02:56
поделиться

3 ответа

alt text

Методы подчеркивание и humanize предназначены для преобразования между таблицы, имена классов / пакетов и т. д. Лучше использовать свой собственный код для замены, чтобы избежать сюрпризов. См. Комментарии.

"SomeWordHere".underscore => "some_word_here"

"SomeWordHere".underscore.humanize => "Some word here"

"SomeWordHere".underscore.humanize.downcase => "some word here"
23
ответ дан 1 December 2019 в 01:05
поделиться

Вы можете использовать регулярное выражение:

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
5
ответ дан 1 December 2019 в 01:05
поделиться

Нет, я не знаю встроенного метода. Есть ли более эффективный вариант, чем однострочный? Не думаю. Возможно, очеловечивает вместо gsub , но вы не получите точно такой же результат.

1
ответ дан 1 December 2019 в 01:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: