Ich erhalte immer einen ActionView :: MissingTemplate Fehler beim Versuch, JSON in meinem Rails 5 API zu rendern. Ich möchte nur das reine JSON rendern, ohne einen Jbuilder oder eine andere Ansicht. Kann jemand helfen?ActionView :: MissingTemplate, Rails 5 API mit JSON
thing_controller.rb:
class Api::ThingController < ApplicationController
def thing
render json: {error: 'This is my error message.'}, status: 422
end
end
thing_controller_test.rb:
require 'test_helper'
class Api::ThingControllerTest < ActionDispatch::IntegrationTest
test "the truth" do
get '/api/thing'
assert_response 422
end
end
vollständige Fehlermeldung:
Error: Api::ThingControllerTest#test_the_truth: ActionView::MissingTemplate: Missing template api/thing/thing, application/thing with {:locale=>[:en], :formats=>[:json], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :jbuilder]}.
application_controller.rb:
class ApplicationController < ActionController::API
include ActionController::Caching
include ActionController::ImplicitRender # want implicit view rendering for JBuilder
before_action :add_cors_headers
def options
head(:ok) if request.request_method == "OPTIONS"
end
vielleicht versuchen 'to_json' auf dem Hash-Aufruf, den Sie als JSON sind Rückkehr? –
versuchen 'format.json {render json: ...}' –
versuchten beide der oben genannten, funktionierte nicht. Trotzdem danke! –