Tengo el siguiente modelo con un campo de matriz:¿Puede la búsqueda de manchas solares dentro de la matriz?
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
que tengo en mi controlador:
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
Este cuando no REINDEX muestro error, sino:
Esto no funciona bien para mí. Me sale el siguiente error en el registro:
de manchas solares :: UnrecognizedFieldError (Ningún campo configurado para la invitación con los receptores '' nombre):
He intentado también:
string :recipients do
recipients.map { |recipient| recipient }
end
Pero consigo la siguiente error cuando rEINDEX:
recipients is not a multiple-value field, so it cannot index values []
¿Puedo hacer solucionar este problema?
I no sabe cualquier rubí, pero ¿Tiene un campo '' recipients' que es de varios valores = true'? – aitchnyu
destinatarios es una matriz con 4 direcciones de correo electrónico. Ahora tengo esto: 'string: repins,: multiple => true do \t repins.map {| repin | repin} final'. El problema ahora es que obtengo el error ** NoMethodError (método indefinido 'gsub 'para [" # "]: Matriz): ** –
hyperrjas
La solución para esta pregunta es add': multiple => true' y corrige el problema ** destinatarios no es un campo de valor múltiple, por lo que no puede indexar valores [] **. Voy a abrir otra pregunta con el último problema. ¡Gracias! @aitchnyu – hyperrjas