在Rails模型中渲染jBuilder部分

时间:2015-07-16 16:21:54

标签: ruby-on-rails ruby jbuilder

我正在尝试覆盖模型中的默认to_json方法。所有模型都有许多jBuilder部分,命名为模型,但在蛇案例中。所以:

Jbuilder.encode do |json|
  json.partial! "charts/#{self.class.name.demodulize.underscore}"
end

但实际上,我在json中得到了一个名为“partial!”的节点。和一个字符串作为值。

如何在Rails模型中渲染jBuilder?

1 个答案:

答案 0 :(得分:2)

作为免责声明,这是一个肮脏的黑客。最好避免使用这样的代码。

  builder = JbuilderTemplate.new(ApplicationController.new.view_context)
  builder.partial!("foo/bar")
  ActiveSupport::JSON.decode(builder.target!)