2016-01-23 76 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