使用模板生成json以发送到Web服务

时间:2010-01-27 18:37:20

标签: ruby-on-rails web-services json

我正在生成一些json以发送到Web服务。

目前我正在创建一个哈希,用数据加载它,然后调用to_json来生成要发送的json字符串。

但是我认为如果我可以在.erb文件中使用模板为我生成json,它会更清晰,更有轨道。

我在erb文件上找到的所有信息都使用它来创建数据以发送回客户端。我不想这样做,我是这里的客户!

我该怎么做?

1 个答案:

答案 0 :(得分:3)

实际上,ERB模板引擎可以在没有Rails的情况下使用。

require 'erb'

x = 42
template = ERB.new <<-EOF
  The value of x is: <%= x %>
EOF
puts template.result(binding)

在您的情况下,您可以使用

之类的模板
{ foo: <%= model.foo.inspect %>, bar: <%= model.bar.inspect %> }

将其存储在.erb文件中,使用File.open阅读内容,然后将其传递给ERB.new,如示例所示。

此处有更多信息:http://ruby-doc.org/stdlib/libdoc/erb/rdoc/classes/ERB.html