Rails render jbuilder in action



我想将调用路由时通常会从 jbuilder 视图返回的内容推送到 websockets,但我无法在一个操作中调用 render 两次:

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

我将如何解决这个问题?或者一般来说,我想返回通常从我的应用程序中其他任何地方的 jbuilder 返回的内容,例如,如果我想重构它以拥有一个推送给用户的方法

如果要呈现视图并将其分配给变量,而不是将其设置为响应正文,则可以使用 render_to_string

最新更新