2008-07-19
10分钟给一个rails遗留系统添加标签功能
早些时候做过了一个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")等等
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")等等
- 10:18
- 浏览 (119)
- 论坛浏览 (435)
- 评论 (2)
- 分类: ruby on rails
- 相关推荐
- 浏览: 22496 次
- 性别:

- 来自: 天之涯

- 详细资料
搜索本博客
我的相册
A569194995207YAN
共 16 张
共 16 张
链接
最新评论
-
Rails简洁的模板系统Mall ...
刑天战士 写道liuqiang 写道你们这种做法是合理的,一般美工给出个大致的页 ...
-- by lix23 -
如何进行项目跟踪
1、项目一定要进行生命周期的选型,确定各个里程碑的时间段。2、用代码行或者经验值 ...
-- by y31307 -
对WebGame行业的一点看法
本来就是对校内反感,感觉里面没什么东西,还大张旗鼓的! 钱几天被女朋友啦上去帮她 ...
-- by 稻香麦甜 -
对WebGame行业的一点看法
确实,本来一直认为校内没什么戏,如果有有这些游戏的存在,那么这个网站就不再空洞了 ...
-- by 稻香麦甜 -
互联网创业与软件开发
对的,感觉创业之初,技术绝对是奠基石,然后才是市场推广之类的,个人觉得专业化倾向 ...
-- by JimyChen






评论排行榜