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数据库,需要在任何一个initializer文件中(比如config/initializers/assets.rb添加一行
     ActsAsTaggableOn.force_binary_collation = true
    
    或者运行
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)中增加一个的tag_liststrong params

     def blog_params
       params.require(:blog).permit(:title, :content, :is_open, :tag_list)
     end
    
  3. views文件中增加tag_list相关的代码,比如这样

     <%= f.input :tag_list, label: 'tags', placeholder: "输入tags,用‘,’分开."  %>
    
  4. blogs_controller.rb中可以保存tag_list相关的数据了

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

    其中parse: true参数支持多个tag,即将tag_list中的字符串,用","分割成多个tag
    也可以用自定义的分割方式来进行处理,参考这里

  5. 还可以使用@blog.tag_list = "tag1,tag2,tag3,tag4"直接重置tag_list。相当于先把原来的tag_list删掉再增加。再@blog.save一下就OK了。
    需要注意的是@blog.update同时也更新了tag_list,虽然blogattributes中并没有tag_list


更多用法点我查看

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Awesome Ruby Toolbox Awesome A collection of awesome Ruby...
    debbbbie阅读 8,008评论 0 3
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,727评论 2 45
  • NAME dnsmasq - A lightweight DHCP and caching DNS server....
    ximitc阅读 7,951评论 0 0
  • 苏州客 陈桂年轻时是厂花,老了依然是场花,广场舞之花。 高铁站广场面积不小,除了严冬...
    苏州客阅读 3,345评论 2 2
  • 周六黄昏,即将离开安仁古镇时,发现街道两边店前都纷纷燃起了纸张,还摆有红色蜡烛。浓烟呛得我睁不开眼睛,赶紧跑开,心...
    张永胜_永往直前阅读 2,732评论 0 2