Это должно сделать это для вас, без регулярного выражения:
params.select { |key, _value| key.ends_with?('_member') }
Это довольно очевидно, выбирая все элементы из хэша params, заканчивающиеся на '_member'
.
Вы также можете использовать деструктив:
params.keep_if { |key, _value| key.ends_with?('_member') }`
Хотя обратите внимание, что удалит все несоответствия из параметров.
Обратите внимание, это соответствует строкам, которые заканчиваются вашим шаблоном, хотя вы можете переключиться на key.include?(...)
, если шаблон может появиться где-нибудь в клавише.
Я посмотрел и не верю, что вы можете передать регулярное выражение в Hash::[]
, но буду рад, если меня поправят.
Вы всегда можете использовать регулярные выражения в одном из вышеприведенных блоков, хотя я считаю, что приведенные параметры более читабельны.
Надеюсь, это поможет независимо - дайте мне знать, как вы ладите.