2012-03-15 39 views
1

我有一個陣列段中的下一模型:NoMethodError(未定義的方法`GSUB」爲[]:陣列):

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

如何能解決這個問題嗎?¿ 謝謝

+0

請問您能完整回溯嗎? – shingara 2012-03-15 13:03:07

+0

@shingara我加載了ajax的內容,我無法在控制檯日誌中看到完整的跟蹤。如何在控制檯日誌中獲取完整跟蹤? – hyperrjas 2012-03-15 13:17:39

+0

我編輯過的問題關係是'has_many:recipients,:class_name =>'Invitation',:foreign_key =>:recipient_id'。 – hyperrjas 2012-03-15 14:25:34

回答

-4

明顯,它告訴ü數組DONOT具有的功能GSUB。 用gsub處理的對象是一個數組類。 你應該指定一個正確的類型。

順便說一句,你沒有給出錯誤的行號。

+0

比你。你能寫一個例子嗎?修復?該行不正確的是'@search = Pin.search do | s |' – hyperrjas 2012-03-15 14:09:32

相關問題