acts-as-taggable-on(tags管理的gem)入門使用

  1. 安裝
     gem 'acts-as-taggable-on', '~>3.4'
    

然后bundle install

  1. 安裝遷移
     rake acts_as_taggable_on_engine:install:migrations
    
  2. 如果使用mysql數(shù)據(jù)庫(kù),需要在任何一個(gè)initializer文件中(比如config/initializers/assets.rb添加一行
     ActsAsTaggableOn.force_binary_collation = true
    
    或者運(yùn)行
rake acts_as_taggable_on_engine:tag_names:collate_bin
  1. model文件(blog.rb)中增加

     acts_as_taggable # Alias for acts_as_taggable_on :tags
    

    這樣就能使用@blog.tag_list等方法了。

  2. controller文件(blogs_controller.rb)中增加一個(gè)的tag_liststrong params

     def blog_params
       params.require(:blog).permit(:title, :content, :is_open, :tag_list)
     end
    
  3. views文件中增加tag_list相關(guān)的代碼,比如這樣

     <%= f.input :tag_list, label: 'tags', placeholder: "輸入tags,用‘,’分開(kāi)."  %>
    
  4. blogs_controller.rb中可以保存tag_list相關(guān)的數(shù)據(jù)了

     @blog = Blog.new(blog_params)
     @blog.tag_list.add(blog_params[:tag_list], parse: true)
    

    其中parse: true參數(shù)支持多個(gè)tag,即將tag_list中的字符串,用","分割成多個(gè)tag
    也可以用自定義的分割方式來(lái)進(jìn)行處理,參考這里

  5. 還可以使用@blog.tag_list = "tag1,tag2,tag3,tag4"直接重置tag_list。相當(dāng)于先把原來(lái)的tag_list刪掉再增加。再@blog.save一下就OK了。
    需要注意的是@blog.update同時(shí)也更新了tag_list,雖然blogattributes中并沒(méi)有tag_list


更多用法點(diǎn)我查看

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Awesome Ruby Toolbox Awesome A collection of awesome Ruby...
    debbbbie閱讀 3,087評(píng)論 0 3
  • afinalAfinal是一個(gè)android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,873評(píng)論 2 45
  • NAME dnsmasq - A lightweight DHCP and caching DNS server....
    ximitc閱讀 2,993評(píng)論 0 0
  • 蘇州客 陳桂年輕時(shí)是廠花,老了依然是場(chǎng)花,廣場(chǎng)舞之花。 高鐵站廣場(chǎng)面積不小,除了嚴(yán)冬...
    蘇州客閱讀 544評(píng)論 2 2
  • 周六黃昏,即將離開(kāi)安仁古鎮(zhèn)時(shí),發(fā)現(xiàn)街道兩邊店前都紛紛燃起了紙張,還擺有紅色蠟燭。濃煙嗆得我睜不開(kāi)眼睛,趕緊跑開(kāi),心...
    張永勝_永往直前閱讀 402評(píng)論 0 2

友情鏈接更多精彩內(nèi)容