hyp*_*jas 5 ruby solr sunspot ruby-on-rails-3
我有一个带有数组字段的下一个模型:
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
Run Code Online (Sandbox Code Playgroud)
我在我的控制器中:
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
Run Code Online (Sandbox Code Playgroud)
这当我重新索引不显示错误但是:
这不适合我.我在日志中得到了下一个错误:
Sunspot :: UnrecognizedFieldError(没有为名为'recipients'的邀请配置字段):
我也试过了:
string :recipients do
recipients.map { |recipient| recipient }
end
Run Code Online (Sandbox Code Playgroud)
但是当我重新索引时,我得到了下一个错误:
recipients is not a multiple-value field, so it cannot index values []
Run Code Online (Sandbox Code Playgroud)
我能解决这个问题吗?
小智 7
该Invitation模型has_many与recipients.这意味着invitation可以有多个recipients.
所以,试试这个:
string :recipients, :multiple => true do
recipients.map { |recipient| recipient }
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2589 次 |
| 最近记录: |