为什么我要使用 jbuilder 而不是哈希?

Why would I use jbuilder instead of a hash?

假设我正在制作一个小应用程序,它会在一个小 json 对象中回显你给它的任何字符串,如下所示:

{
    message: "<Your string>"
}

使用 Jbuilder 做这样的事情与简单地将散列转换为 json 和 to_json 相比有什么优势?

Why would I use jbuilder instead of a hash?

Jbuilder 是一个更高层次的抽象。因此,它比内联处理哈希提供了无数好处。

想到的几个:

  • 它允许您将散列构造(和任何关联的逻辑)移出控制器并移至其自己的模板中。
  • 您可以构建可跨不同模板共享的部分。
  • 片段缓存有内置机制。
  • 构建器 DSL(可以说)更易于使用。

Jbuilder 并不是唯一的选择,还有 Rabl and ActiveModel::Serializer,等等。

您不会后悔选择其中之一而不是手动修改哈希值。