2016-08-04 25 views
0

我想從我的方法,我的應用程序返回JSON問題渲染文本中軌JSON響應controlelr

繼承人我有什麼

doc.css(".secondary-text").each do |t| 
    price1 = t.text 
    respond_to do |format| 
     format.json { render :json => {:testing => price1}} 
    end 
end 

但是我得到DoubleRenderError。 Whats returned this is:

(£28.50 Ticket + £4.00 Fees) 
(£35.00 Ticket + £5.25 Fees) 
(£22.50 Ticket + £3.50 Fees) 
(£35.00 Ticket + £5.25 Fees) 
(£22.50 Ticket + £3.50 Fees) 

是因爲它在每個方法裏面嗎?

感謝

+1

_Is它,因爲它裏面的每個方法_ - 是嗎? –

回答

0

是的,那是因爲你用render多次儘可能多的對象存在於doc.css(".secondary-text")。每個範圍只能使用一次Render

如果你想渲染整個集合,你應該做這樣的事情:

collection = doc.css(".secondary-text").each.inject([]) do |collection, t| 
    collection << t.text 
    collection 
end 

respond_to do |format| 
    format.json { render json: { collection: collection } } 
end