Mam kontroler "UserController", który powinien odpowiadać na zapytania standardowe i ajaxowe na http://localhost:3000/user/3
.Szyny: reply_to JSON i HTML
Kiedy jest to normalne żądanie, chcę wyrenderować mój widok. Kiedy jest to żądanie AJAX, chcę zwrócić JSON.
Poprawne podejście wydaje się być blokiem respond_to do |format|
. Pisanie JSON-a jest łatwe, ale jak mogę uzyskać odpowiedź HTML i zwyczajnie renderować widok?
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
Gdy wywołujesz adres URL działania bez niczego, np./users/3 spowoduje zwrócenie html. Jeśli wywołasz /users/3.json - zwróci json –