私はJbuilderを使用しています(また、Rablを使ってjsonをレンダリングしようとしました)。 私は自分のアプリケーションでJBuilderのテンプレートをレンダリングしようとすると、それは(「レイアウト/アプリケーション内の」行を参照)レイアウト/アプリケーションファイル内 テンプレートをレンダリングし、JSONとしてHTMLを返します。HAMLは、テンプレートエンジンがHTML以外のレンダリングを行わないようにします。
Started GET "/random_photo.json"
Processing by RidesController#random_photo as JSON
>> Rendered rides/random_photo.json.jbuilder within layouts/application (0.3ms)
Rendered shared/_banners_in_corners.haml (3.0ms)
Rendered shared/_sign_in_and_out.haml (2.0ms)
Rendered layouts/_navigation.haml (7.3ms)
Completed 200 OK in 156ms (Views: 120.7ms | ActiveRecord: 3.1ms)
しかし、テンプレートなしでjsonをレンダリングし、render json: @ride.as_json
コールを実行すると、期待通りに機能します。 私は新しいアプリケーションを作成し、私は同じことをしようとすると期待どおりで、すべての作品:
Started GET "/posts/1.json"
Processing by PostsController#show as JSON
Post Load (0.1ms) SELECT "posts".* FROM "posts" WHERE "posts"."id" = ? LIMIT 1 [["id", "1"]]
Rendered posts/show.json.jbuilder (0.6ms)
Completed 200 OK in 20ms (Views: 19.2ms | ActiveRecord: 0.1ms)
私はそれが テンプレートをレンダリングしていないことを自分のアプリケーションで行っているのか分かりません正しく何か案は?
...問題を解決して命名
application.haml
ファイル内にあります!私は運がないJbuilderを実装しようとしていて、RABLに切り替えて同じプログラムを持っていました。 application.hamlの名前をapplication.html.hamlに変更すると、このトリックが実行されました!ありがとう。 – brent
Upvoted。これは私の問題を解決し、この投稿を見つける時間がかかりました。 – robbie613
Upvoted。これは私の問題を解決し、この投稿を見つける時間がかかりました。 – robbie613