У меня есть следующая модель с полем массива:
Class Invitation
include Mongoid::Document
include Mongoid::Timestamps::Created
include Sunspot::Mongo
# this is the relation. Is not a field
has_many :recipients, :class_name => 'Invitation', :foreign_key => :recipient_id
attr_accessible :recipients
searchable do
string :recipients, :multiple => true do
recipients.map { |r| r.recipients.to_s }
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
Неверная строка @search = Invitation.search do |s|
Я получаю следующую ошибку:
NoMethodError (undefined method `gsub' for ["#<Invitation:0x9a1c6e8>"]:Array):
Как я могу решить эту проблему? ¿Спасибо