Ich habe einen Controller "UserController", der auf normale und AJAX-Anfragen an http://localhost:3000/user/3
reagieren sollte.Rails: antwort_zu JSON und HTML
Wenn es eine normale Anfrage ist, möchte ich meine Sicht rendern. Wenn es eine AJAX-Anfrage ist, möchte ich JSON zurückgeben. Der richtige Ansatz scheint ein respond_to do |format|
Block zu sein. Das Schreiben des JSON ist einfach, aber wie kann ich es auf den HTML-Code reagieren lassen und den View einfach wie gewohnt rendern?
def show
@user = User.find(params[:id])
respond_to do |format|
format.html {
render :show ????this seems unnecessary. Can it be eliminated???
}
format.json {
render json: @user
}
end
end
Wenn Sie Ihre Aktion URL ohne etwas aufrufen, z./users/3 gibt es html zurück. Wenn Sie /users/3.json aufrufen, wird json zurückgegeben –