Rails render_to_string 渲染输出到正文

Rails render_to_string rendering output to body

我是 Rails 的新手,一直在努力让 react_on_rails 工作。 根据文档,我应该像这样在控制器中补水 redux_store:

redux_store 'myStore', props: render_to_string(template: 'action.json.jbuilder')

但这会导致控制器输出生成的 json,即使是 html 请求。我的控制器看起来像这样:

HomeController < ApplicationController
  respond_to :html, :json

  def index
    redux_store 'appStore', props: render_to_string(action: action_name, format: :json)
    # ...
  end
end

根据我的理解,这应该将 render_to_string 中的 json 字符串添加到 redux 存储,然后呈现 html 正文。我做错了什么吗?

在你的行动中尝试这样的事情..

def index
  respond_to do |format|
    format.html { redux_store 'appStore', props: render_to_string(action: action_name, format: :html) }
    format.json { redux_store 'appStore', props: render_to_string(action: action_name, format: :json) }
  end
end