NoMethodError (неопределенный метод `gsub 'для []: Array): - PullRequest
1 голос
/ 15 марта 2012

У меня есть следующая модель с полем массива:

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):

Как я могу решить эту проблему? ¿Спасибо

1 Ответ

0 голосов
/ 15 марта 2012

очевидно, он сказал вам, что массив donot имеет функцию gsub.объект, обработанный с помощью gsub, является классом Array.Вы должны указать правильный тип.

Кстати, вы не указали неправильный номер строки.

...