加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 可以在数组内搜索太阳黑子吗?

发布时间:2020-12-17 03:30:16 所属栏目:百科 来源:网络整理
导读:我有一个带有数组字段的下一个模型: Class Invitation include Mongoid::Document include Mongoid::Timestamps::Created include Sunspot::Mongo field :recipients,:type = Array attr_accessible :recipients searchable do text :recipients do recipie
我有一个带有数组字段的下一个模型:

Class Invitation
 include Mongoid::Document
 include Mongoid::Timestamps::Created
 include Sunspot::Mongo

 field :recipients,:type => Array
 attr_accessible :recipients

 searchable do
  text :recipients do
  recipients.map { |recipient| recipient }
  end
 end

end

我在我的控制器中:

def recipients

 @invitation = Invitation.find(params[:id])
 @search = Invitation.search do |s|
 s.fulltext params[:search]
 s.with(:recipients,@invitation.recipients)
 end

@recipients = @search.results
  respond_to do |format|
   format.html
  end

end

这当我重新索引不显示错误但是:

这不适合我.我在日志中得到了下一个错误:

Sunspot :: UnrecognizedFieldError(没有为名为’recipients’的邀请配置字段):

我也试过了:

string :recipients do
  recipients.map { |recipient| recipient }
end

但是当我重新索引时,我得到了下一个错误:

recipients is not a multiple-value field,so it cannot index values []

我能解决这个问题吗?

解决方法

邀请模型与收件人有一个has_many关联.这意味着邀请可以有多个收件人.

所以,试试这个:

string :recipients,:multiple => true do
  recipients.map { |recipient| recipient }
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读