我尝试按照此答案中的说明在.js.erb 文件中呈现 json 数据。但我得到这个错误:
ActionView::MissingTemplate (Missing template activities/json, application/json with {:handlers=>[:erb, :builder], :formats=>[:js, :html], :locale=>[:en, :en]}.
我有大量数据要发送给用户,因此我想以 json 格式发送而不是 text/html。
这是我的控制器“some_controller.rb”:
def some_action
@hash = ...
@var = ...
.
.
respond_to do |format|
format.js { render :json }
end
end
这是我在views/some_controller/some_action.js.erb 中的观点:
$("#some_div").html("<%=j render :partial => 'some_controller/another_action' %>");
这是我的 another_action.html.erb:
<%= self.formats = ["html"] %>
Var1 = <%= @var1 %>
Hash1 = <%= @hash1.inspect %>
上面链接中的答案是错误的吗?我们不能将 json 数据发送到 js.erb 文件吗?我尝试使用 .to_json 转换变量和哈希。例如:
@hash1 = someMethod(someParams).to_json
但是@hash1 在我的最终 html.erb 中被渲染为一个字符串,当然无法解析!我做错了什么或错过了什么吗?
也没有关于在 Rails 中渲染 json 的在线教程,有人可以提供一些很好的链接来学习 json 和 rails 吗?非常感谢您的帮助。提前致谢。
谢谢,pr