3

正在做http://localhost:3000/options/audio

我得到错误:

Missing template options/audio, application/audio with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :jbuilder, :coffee]}. Searched in: * "/Users/mmahalwy/Desktop/Code/quran.com/QuranAPI/app/views"

当我做http://localhost:3000/options/audio.json

这会呈现我的 Jbuilder 文件和所需的 json。如何使用 .json 扩展名呈现我的 jbuilder 模板?

4

2 回答 2

3

jbuilder 文档告诉您将 jbuilder 模板创建为*.json.jbuilder文件。这使得路由寻找 .json 扩展名。如果您删除 .json 部分并制作您的文件*.jbuilder,您将能够在没有 .json 扩展名的情况下转到该路线。

例子:

Filename: index.jbuilder route: get 'ticket', to: 'tickets#index'

于 2015-12-03T22:16:11.977 回答
0

jbuilder是一个宝石,一个工具....我还没有尝试过,但如果你想要使用 and 的默认功能(html)jsonjbuilder那么:

http://localhost:3000/options/audio

会寻找

/Users/mmahalwy/Desktop/Code/quran.com/QuranAPI/app/views/.../audio.html.jbuilder

所以,你可以把你的代码放在那里......但它只能是 jbuilder 代码......否则,你可以使用html.erb带有嵌入式 ruby​​ 的普通文件或其他文件,你将在其中指定 jbuilder json 创建:

Jbuilder.encode do |json| # this is implied in .jbuilder files but can be used in any other ruby file
     json.xxx @yyy.xxx
     #....
end
于 2014-06-22T22:45:14.823 回答