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 がレンダリングされます。jbuilder テンプレートを .json 拡張子でレンダリングするにはどうすればよいですか?

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は宝石、ツールです....試したことはありませんが、デフォルトの機能(html)と が必要な場合は、次のようにしjsonますjbuilder

http://localhost:3000/options/audio

探します

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

したがって、そこにコードを入れることができます...しかし、それはjbuilderコードにしかできません...それ以外の場合は、html.erbルビが埋め込まれたプレーンまたはその他のファイルを使用でき、その中で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 に答える