早些时候做过了一个rails系统,当时没有涉及到标签的功能,最近客户看到很多网站有标签功能,并认为一个web2.0网站没有标签怎么可以,于是提出要给群组、文章等等加上标签的功能,开始感觉蛮麻烦的,我岂不是要修改很多东西?我最初的设想是给每个用到标签的表加个tag字段,标签作为以逗号隔开的字符串形式存进去,取出来的时候再解析,可是按标签搜索的话岂不是巨麻烦?转念一想这个方法实在是憨,这时我发现了acts_as_taggable_on_steroids这个插件,它是根据acts_as_taggable重写的,试用了一下,非常不错,10分钟足以帮我解决标签问题,完全可以放心大胆的使用,特向大家推荐一下,以下是我简单的使用过程:
1 安装,ruby script/plugin install http://svn.viney.net.nz/things/rails/plugins/acts_as_taggable_on_steroids
2 给系统额外添2个表:tags和taggings,tags字段包括id、name,taggings字段包括id、tag_id、taggable_id、taggable_type、created_at。
3 在需要标签功能的model中定义:acts_as_taggable
4 添加标签,@xxx.tag_list = params[:tags],前端的tag用逗号隔开
4 显示标签, @tags = XXX.tag_counts[0,20],取出tag对象
5 按标签查询相关列表,@xxx = XXX.find_tagged_with(params[:name],:conditions=>相关额外的条件)
6 基本功能到此就搞定了,还有许多额外的功能,如Tag.counts:标签数量,删除标签:xxx.tag_list.remove("xxx")等等
分享到:
- 2008-07-19 10:18
- 浏览 943
- 评论(2)
- 论坛回复 / 浏览 (2 / 2250)
- 查看更多
相关推荐
本系统采用ruby on rails 开发的在线考试系统。
Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 ...
Acl9 一个基于角色的授权系统,提供了一个简洁的DSL来保护你的Rails应用程序
软件介绍 Fepss(菲普斯)第一个推出在线为企业提供不限用户...本网站系统是作为OA系统的前端展示系统,所倚赖的包都在plugin目录,其中还提供了一个基于ferret的全文检索功能,需要通过 gem install ferret 方式安装。
Acts As Tennant:通过一个共享数据库的策略来为一个Rails应用添加多租户支持
本资源是参照rails敏捷开发第四版书中的例子,rails的版本是rails3.2.6
Rails3消息队列系统 Sidekiq
也许最受欢迎的一个是 Locale 路由过滤器: Locale- 预先添加页面的 :locale(例如 /de/products) Pagination- 附加 page/:num(例如 /products/page/2) Uuid- 为身份验证或其他目的添加 uuid(例如 /d00fbbd1-...
RailsAdmin - 一个Rails引擎,提供了一个易于使用的界面来管理您的数据
入门rails的第一个demo
Mailboxer - 一个Rails的应用程序私人消息系统
Documentation - Rails引擎提供文档添加到Rails应用程序的功能
GoOnRails: 一个Rails生成器用于生成Go代码并集成Go APIs至一个Rails app中
《Rails之道》按照Rails的各个子系统进行组织编排,分别介绍了Rails的环境、初始过程、配置和日志记录,Rails的分配器、控制器、页面生成和路由,REST、资源和Rails,ActiveRecord的基础、关联、验证和高级技巧,...
一个Rails应用程序,为DIY小型内容分发网络CDN提供支持
一个用Ruby on Rails搭建的图片分享的网站项目.完整源代码
rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails ...
chef-rails, 厨房设置一个可以与 Nginx 和 Rails 一起滚动的Ubuntu服务器 主厨 rails安装一个准备为 Ruby on Rails 栈准备的Ubuntu服务器:NginxPostgreSQLRedisMemcached带RVM的rubyPhusion乘客独立要求Ubuntu ...
rails工具书,教你从0到有搭建一个rails框架博客系统,第四版