acts-as-taggable-on 接口使用
来源:互联网 发布:己知a b c=1,求证 编辑:程序博客网 时间:2024/06/05 00:52
创建了两个表,以及对应的两个 model
分别是:
ActsAsTaggableOn::Tag 有 id,name
上面是标签表。
ActsAsTaggableOn::Tagging 有 id,tag_id,taggable_id,taggable_type,tagger_id,tagger_type,context
上面是关联表(中间表)
tag_id 就是第一张表,标签表的 id
taggable 为被标记者
tagger 为标注者(我们没有用到)
context 为标签类型(我们只用到 tags,我会新增 skills)
新增字段:tag_list,skill_list,interest_list
用法:
1, (标签类型,对应中间表的 content 字段)
# Alias for acts_as_taggable_on :tags
acts_as_taggable
acts_as_taggable_on :skills, :interests
tag_list= (设置标签内容,会创建对应的中间表和 tag 表)
tag_list (看似是字段内容,其实是 tag 的内容拼接起来的)
skill_list (看似是字段内容,其实是 tag 的内容拼接起来的)
(上面设置的时候是字符串,读取的时候是数组)
2,
tag_list.add 在原字段的基础上多了 add 方法
tag_list.remove 在原字段的基础上多了 remove 方法
tags 复数形式(中间表)
skill_counts 统计
3,(在 1 的基础上维持输入时的顺序)
# Alias for acts_as_ordered_taggable_on :tags
acts_as_ordered_taggable
acts_as_ordered_taggable_on :skills, :interests
4,
tagged_with (类方法,参数是标签的名字,返回是有此标签的对应的类的实例)
5,
find_related_skills (实例方法,不带参数,返回和此调用者有类似标签的实例对象)
6,(动态新增 tag 类型,不推荐,tag 类型应该一开始就定好。)
set_tag_list_on
(下面几个方法不是动态生成的,平时也可用!)
tag_list_on (实例方法,参数为类型)
tags_on (实例方法,参数为类型)
tag_counts_on (参考 9)
tagged_with (参考 4)
7,(多一层关联,标签创建者,目前我们用不上)
acts_as_tagger
acts_as_taggable_on :locations (参考 7)
(下面几个除 tagged_with 外,均为实例方法)
tag
owned_taggings
owned_tags
tagged_with (参考 4)
locations_from
owner_tags_on
8,
skill_list_changed? (Rails 自带)
changes (Rails 自带)
changes.should
skill_list_change.should
9,
tag_counts_on (类方法,参数为标签类型)
tag_cloud (参考示例,自己定义的方法)
10,
remove_unused_tags (不使用的标签,要删除掉?)
force_lowercase (保存时强制转换成小写?)
force_parameterize (如何保存标签,类似 to_params)
strict_case_match (数据库查询标签时,大小写是否敏感)
delimiter (默认标签之间用‘逗号’分隔)
aats = ActsAsTaggableOn::Tagging.where(context: “skills”).group(:tag_id).order(‘count_all desc’).count;
aats.map do |key, value|
“#{value} – #{ActsAsTaggableOn::Tag.find(key).name}”
end
File.open(‘tag_list_statistics ‘, ‘w’) do |file|
aats.each do |key, value|
file.write( “#{value} – #{ActsAsTaggableOn::Tag.find(key).name}\n” )
end
end
- acts-as-taggable-on 接口使用
- rails3 使用 acts-as-taggable-on 打标签 超简单
- rails3 使用 acts-as-taggable-on 打标签 超简单
- C#接口实现& is和as的含义与使用
- AS使用
- oracle9i on redhat as 4.4
- The Acts of the Mind
- 接口是AS出来的
- 接口是AS出来的
- 接口是AS出来的
- Interface As Contract 接口约定
- Starting Tomcat as a Service on Linux
- Starting Tomcat as a Service on Linux
- Place images as one row on latex
- Vim as Python IDE on windows
- Vim as Python IDE on windows
- Nginx as service on CentOS 6.6
- Mount VDI as logical drive on host
- 基于keil的contiki系统的stm32移植
- java学习笔记——第7天
- 欢迎使用CSDN-markdown编辑器
- java学习笔记——第8天
- 500 Internal Server Error
- acts-as-taggable-on 接口使用
- Jquery异步分页插件
- [转]Android官方教程中文版
- 反射个人见解
- RFID系统二进制树搜索算法是如何解决碰撞的?简述其实现过程
- uva434(逻辑)
- 1 基本类型和控制结构
- python的threading和multiprocessing模块初探
- 黑马程序员---java基础 -----基础知识,运算符,循环等