可以在rails jbuilder中扩展视图吗?

时间:2013-09-26 18:20:59

标签: ruby-on-rails jbuilder

我想在“parent#show”中为孩子编制索引,并且每个人都想到的第一件事就是使用partials。好吧是的,那没关系,但是我必须为show.json.jbuilder创建child#show,为_show.json.jbuilder创建parent#show,这不是很干净。

有没有办法解决这个问题?我能扩展一个观点或类似的东西吗?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。我首先创建了show.json.jbuilder,然后尝试将其用作index.json.jbuilder中的部分。

我的解决方法/解决方案:

将文件show.json.jbuilder移动到_show.json.jbuilder,并使用局部变量“mymodel”重命名所有“@mymodel”实例

在show.json.jbuilder中,我调用了partial并将我的实例变量作为本地传递:

json.partial! 'mymodel/show', mymodel: @mymodel

在index.json.jbuilder中,我使用了相同的部分:

json.array! @mymodel, partial: 'mymodel/show', as: :mymodel