我正在使用 Sunspot Solr 搜索事件,每个事件都有一个 group_id 引用一个 Group 对象(多个事件可以有同一个组)。如果用户搜索组名,我想找到正确的事件。
在可搜索块中尝试的解决方案
string :events_group_name do
group.map(&:name)
end
错误
SQLite3::SQLException: 没有这样的列:groups.event_id: SELECT "groups".* FROM "groups" WHERE "groups"."event_id" = 3 LIMIT 1
问题是 Group 中没有 event_id,那么我怎样才能让它工作呢?解决方法是将组名保存为 Event 对象中的一列,但肯定有更好的方法。谢谢!