我试图在模型中覆盖默认的json方法。所有模型都有许多jbuilder部分,与模型一样命名,但在snake的情况下。所以:

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

但实际上,我得到了一个json节点,名为“partial!”一个字符串作为值。
如何将jbuilder部分呈现在rails模型中?

最佳答案

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

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

关于ruby-on-rails - 在Rails模型中渲染jBuilder部分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31459590/

10-13 04:51