【问题标题】:Rails render jbuilder in actionRails 在行动中渲染 jbuilder
【发布时间】:2016-04-29 18:42:24
【问题描述】:

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

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 返回的内容,例如,如果我想重构它以拥有一个推送给用户的方法

【问题讨论】:

    标签: ruby-on-rails pusher jbuilder


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-18
      • 2012-11-24
      • 1970-01-01
      • 2013-10-06
      • 2012-06-14
      • 2014-07-16
      • 1970-01-01
      • 2014-06-01
      相关资源
      最近更新 更多