3
我使用的acts_as_taggable_on寶石:https://github.com/mbleigh/acts-as-taggable-on允許acts_as_taggable_on與散列標籤工作
這種寶石接受用戶輸入標籤爲作爲逗號分隔即,聰明,冷,快樂
我具有部分:共享/ _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然後將標籤自動保存爲快樂,醉
型號微柱:
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
感謝,感謝所有幫助。這可能沒有扔寶石?
感謝我要添加該後處理,但還是有問題的是「#happy #sad「.parameterize在我需要它們作爲2個不同標籤時會變成」開心 - 悲傷「 – APJ
@APJ,您仍然可以使用自述文件中提到的設置:'ActsAsTaggableOn.delimiter =(',','','|') ',只需添加空格作爲分隔符 –