2016-01-23 75 views
0

我要推到WebSockets的東西通常會從JBuilder的視圖時的路由被稱爲退回,但我不能在動作調用兩次渲染:Rails的渲染作用的JBuilder

def 
    ... 

    @resource_receivers = "#{@resource.model_name.singular.capitalize}Receiver".constantize.where("#{@resource.model_name.singular}_id": @resource) 
    @resource_receivers.each do |resource_receiver| 
    resource_receiver.create_activity :sent, owner: @current_user, recipient: resource_receiver.receiver 
    end 

    to_return = render 'api/received/show' 

    Pusher.trigger('resources', 'resource.received', JSON.parse(to_return.first)) 

    return render :task 
end 

我將如何解決這個問題?或者一般情況下,我想返回通常會從我的應用程序中任何其他位置返回的東西,例如,如果我想重構此方法以推送給用戶的方法

回答

0

如果要渲染一個視圖並將其分配給一個變量,而不是將其設置爲響應主體,那麼您可以使用render_to_string