gpt4 book ai didi

ruby-on-rails - ruby 代码在模板中显示为 html

转载 作者:太空宇宙 更新时间:2023-11-03 16:46:45 25 4
gpt4 key购买 nike

我有一个使用 angularjs 的 Rails 应用程序。在这里,我尝试从 Rails Controller 呈现模板并将资源传递给模板。但是显示变量的 ruby​​ 代码与 html.erb View 中的显示完全相同。

def fail
@order = Order.find(1)
render 'payments/fail'
end

在 View 中

<%= @order.as_json %>

最佳答案

我的猜测是问题出在您的 View 文件的名称中。我猜你将它命名为类似 fail.html 而不是 fail.html.erb。如果没有 .erb 后缀,Rails 只会将文件解释为 html 文本并呈现它,而不解释 ruby​​ 代码。

但是,更改文件名并不是正确的解决方案。因为你想呈现 json 而不是 HTML,你不需要创建 View 模板,所以你应该完全删除模板文件。

所有 Rails 模型都有一个自动的 .as_json 方法,因此您可以像这样简单地修改 Controller 的 fail 方法:

def fail
@order = Order.find(1)
render json: @order.as_json
end

此外,如果您想做一些花哨的事情并修改返回的 json,您可以在模型中定义自己的 as_json 方法。

关于ruby-on-rails - ruby 代码在模板中显示为 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31543145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com