我正在尝试从我的应用程序中的方法返回json
继承人我拥有的
doc.css(".secondary-text").each do |t|
price1 = t.text
respond_to do |format|
format.json { render :json => {:testing => price1}}
end
end
但是我得到了DoubleRenderError
。返回的是这个:
(£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)
是因为它在每个方法中吗?
由于
答案 0 :(得分: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