Я использую гем acts_as_taggable_on: https://github.com/mbleigh/acts-as-taggable-on
Этот драгоценный камень принимает пользовательский ввод для тегов, разделенных запятыми, т. Е. Умный, Крутой, Радостный.
У меня есть частичный: shared/_micropost_form, который запрашивает теги:
<%= form_for(@micropost) do |f| %>
<%= f.text_field :tag_list, placeholder: "Tags", id: "genre_tag_field" %>
<% end %>
Однако иногда пользователи вводят теги с хэштегами, например, #Happy #Drunk или #Stupid, #Drunk.
Как я могу сделать так, чтобы перед созданием Micropost он проверял введенный :tag_list, если каждое слово начинается с #, и если да, то удалял # и добавлял , (если уже нет) в конец каждое слово. Итак, когда пользователь вводит #Happy #Drunk, теги автоматически сохраняются как Happy, Drunk.
Модель микропоста:
acts_as_ordered_taggable
Контроллер микропоста:
def create
@user = User.find(params[:user_id])
@micropost = @user.microposts.build(params[:micropost])
if @micropost.save
flash[:success] = "Posted!"
redirect_to :back
else
flash[:notice] = "Error!"
redirect_to :back
end
end
Спасибо, ценю любую помощь. Возможно ли это, не выбрасывая драгоценный камень?