Я бы создал функцию и поместил ее в помощник, поскольку кажется, что вы будете использовать ее в своих представлениях и контроллерах.
Если вы решите использовать этот маршрут и хотите создать помощника для определенного контроллера и представления (например, microposts_helper), которое не загружается другими контроллерами и представлениями, вы можете добавить эту строку:
config.action_controller.include_all_helpers = false
в файл application.rb, расположенный в папке config.
И, наконец, поскольку вы новичок в программировании на Rails, уже работающий с регулярными выражениями, я рекомендую вам этот сайт . Это было неоценимо для меня, как для начинающего программиста по рельсам.
Хорошо, поэтому в вашем microposts_helper
создайте что-то вроде:
module MicropostsHelper
def hash_tags(string)
string.gsub(/ (#\w+)/) { |a|
((a.include?('#'))) << a.strip.gsub(/#/, '')
}
end
end
И затем вы можете вызывать его в ваших представлениях микросообщений и в контроллере с помощью hash_tags(micropost.text)