Project < ActiveRecord::Base
     searchkick

     has_many :categories_has_projects
     has_many :categories, through: :categories_has_projects

 end

  Category < ActiveRecord::Base

     has_many :categories_has_projects
     has_many :projects, through: :categories_has_projects

 end

class Project < ActiveRecord::Base
  def search_data
    attributes.merge(
      categories_title: categories.map(&:title)
    )
  end
end

Project.reindex and your search code above should work.
def search_data
    {
      name: name,
      intro: intro,
      bio: bio,
      tag_name: tags.map(&:name)
    }
end

参考文档:https://stackoverflow.com/questions/21382868/searchkick-index-related-model-fields        https://github.com/ankane/searchkick/issues/74

searchkick HasMany Associations | index related model fields的更多相关文章

  1. ExtJS笔记 Ext.data.Model

    A Model represents some object that your application manages. For example, one might define a Model ...

  2. sencha touch之模型(model)

    模型的实例相当于数据库中表的一条记录. 一般模型在\app\model下创建,而且必须遵守类的命名规则,也就是可以根据类名找到模型的定义文件. 所有模型类都要从Ext.data.Model或Ext.d ...

  3. Django Model field reference

    ===================== Model field reference ===================== .. module:: django.db.models.field ...

  4. [EXT JS]"hasMany" association on ExtJS 4.1.1a

    ExtJS uses "hasMany" association to support nested json. However the sencha docs lacks wel ...

  5. ExtJs4学习(六)MVC中的Model

    Model定义的两种方式 第一种 Ext.define("User",{ extend:"Ext.data.Model", fields:[{ name:'us ...

  6. django xadmin多个model的数据渲染在统一个template中

    adminx.py demo class ModelAdmin(object): #.... def get_context(self): context = super(SimCardService ...

  7. django学习之Model(一)

    认认真真学Django,从现在开始. 学习资料来源于官方网站:https://docs.djangoproject.com/en/1.6/ 1-新建一个models.py from django.db ...

  8. python笔记-20 django进阶 (model与form、modelform对比,三种ajax方式的对比,随机验证码,kindeditor)

    一.model深入 1.model的功能 1.1 创建数据库表 1.2 操作数据库表 1.3 数据库的增删改查操作 2.创建数据库表的单表操作 2.1 定义表对象 class xxx(models.M ...

  9. Python 统一动态创建多个model对应的modelForm类(type()函数)

    一.ModelForm的用法 ModelForm对用户提交的数据有验证功能,但比Form要简单的多 from django.forms import ModelForm # 导入ModelFormcl ...

随机推荐

  1. BZOJ 1026: [SCOI2009]windy数 【数位dp】

    Description windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道,在A和B之间,包括A和B,总共有多少个windy数? In ...

  2. 算法复习——floyd求最小环(poj1734)

    题目: 题目描述 N 个景区,任意两个景区之间有一条或多条双向的路来连接,现在 Mr.Zeng 想找一条旅游路线,这个路线从A点出发并且最后回到 A 点,假设经过的路线为 V1,V2,....VK,V ...

  3. 【2018.10.4】CXM笔记(图论)

    .1.给你一个无向图,问这张图的最小割是否唯一.输出yes或no. 跑一边最大流,那么最小割的那些正向边一定满流(也就是过不了了).所以在残余网络上,从S到T和从T到S各广搜找一组最小割的边(即正向边 ...

  4. MyBatipse插件

    MyBatipse:Eclipse 下的 Mybatis插件 MyBatipse是Eclipse的一个插件,提供了内容提示和Mybatis的配置文件验证功能: 特点 XMLEditor 的增强 代码自 ...

  5. Codeforces Round #275 (Div. 2) B. Friends and Presents 二分+数学

    8493833                 2014-10-31 08:41:26     njczy2010     B - Friends and Presents             G ...

  6. SQLite数据库相关操作

    一.创建数据库 这里创建了note便签数据表,字段有noteId.noteTitle.noteTime.noteInfo );  // TODO Auto-generated constructor ...

  7. ctrl+c,ctrl+d,ctrl+z在linux程序中意义和区别

    原文: http://blog.csdn.net/sxhlovehmm/article/details/41318111 [侵删] ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样.   ...

  8. jquery知识汇总

    jQuery 选择器 选择器                  实例                                   选取 *                          $ ...

  9. elasticsearch入门使用(五) kibana&x-pack安装使用

    Kibana User Guide 一.UI安装 https://www.elastic.co/downloads/kibana 下载rpm直接运行即可 二.参数配置 find / -name kib ...

  10. 程序防止SqlServer使用SqlServer Profiler跟踪

    思路: 1.使用默认函数(fn_trace_getinfo)查询跟踪列表: 2.调用系统存储过程(sp_trace_setstatus)修改跟踪状态. 相关Sql : declare @default ...