Лично я бы использовал jQuery для реализации необходимой вам функциональности AJAX.Javascript будет использоваться для проверки сервера на наличие новых хэштегов, и на сервере будет выполняться фактический поиск хэштегов.В вашей модели Post у вас может быть что-то вроде этого для фактического поиска:
class Post < ActiveRecord::Base
# class methods
class << self
def hashtags
tags = []
# cycle through all posts that contain a hashtag, and add them to list
Post.all(:conditions => 'body like "%#"').each do |post|
tags += post.hashtags
end
# remove duplicates and sort alphabetically
tags = tags.uniq.sort
end
end
# instance methods
def hashtags
@hashtags ||= body.scan(/#\w+/)
end
end
Здесь есть два метода с одним и тем же именем, но один вызывается для класса (Post.hashtags
), чтобы получитьвсе хэштеги во всех постах, а второй вызывается в одном экземпляре (post.hashtags
), чтобы получить только хештеги из этого поста.
Есть еще несколько частей головоломки - код вашего контроллера, вашпросмотров и ваш javascript.Этот вопрос очень сложный для сайта добровольцев.Вы просите сделать несколько разных вещей для вас.
Мой совет - начать строить это, как я описал, и попросить помощи по тем частям, с которыми у вас возникли проблемы на этом пути.Мы более чем рады помочь, но вы просите целый стек MVC, управляемый javascript.Постарайтесь ограничить свои вопросы тем, на что можно ответить через 5-10 минут, и вы, вероятно, получите гораздо больше отзывов и помощи.
Удачи!