Używam JBolder (a także próbowałem użyć Rabl) do renderowania json. Kiedy próbuję renderować szablon JBUILDER w mojej aplikacji renderuje szablon w układy/aplikacji pliku i zwraca HTML jako JSON (patrz linia 'w układy/application'):HAML uniemożliwia renderowanie szablonów do niczego innego niż 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)
Jednak, gdy renderuję json bez szablonu i wykonuję wywołanie render json: @ride.as_json
, wszystko działa zgodnie z oczekiwaniami. Kiedy tworzę nową aplikację i staram się robić to samo, wszystko działa zgodnie z oczekiwaniami, a także:
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)
Nie wiem, co mam zrobić z moim wniosku, że nie jest renderowanie szablony prawidłowo. Jakieś pomysły?
Wow miałem ten sam problem! Próbowałem wdrożyć Jbuilder bez powodzenia, przerzuciłem się na RABL i miałem ten sam program. Zmiana nazwy application.haml na application.html.haml rozwiązała problem! Dzięki. – brent
Rewizja. To rozwiązało mój problem, a znalezienie tego postu zajęło mi wiele godzin. – robbie613
Rewizja. To rozwiązało mój problem, a znalezienie tego postu zajęło mi wiele godzin. – robbie613