rails

View als JSON in Rails 5 ausgeben

Ein Memo darüber, wie man VIEW als JSON in Rails 5 ausgibt. Verwendet respond_to und format.json. Normalerweise wird in Rails dem in VIEW.erb geschriebenen Text Vorlagen-HTML hinzugefügt, aber Sie können Formate wie JSON oder XML angeben, um es als REST API usw. verwendbar zu machen.

Shou Arisaka
1 Min. Lesezeit
16. Nov. 2025

Ein Memo darüber, wie man VIEW als JSON in Rails 5 ausgibt. Verwendet respond_to und format.json.

Normalerweise wird in Rails dem in VIEW.erb geschriebenen Text Vorlagen-HTML hinzugefügt, aber Sie können Formate wie JSON oder XML angeben, um es als REST API usw. verwendbar zu machen.

So:

respond_to do |format|
            format.html

                @json=%({"origin":#{@origin_addresses.to_json},"dest":#{@destination_addresses.to_json},"km":#{@km.to_json}})

            format.json {render :json => @json}
end

respond_to ist optional, aber… Lassen Sie mich erklären.

Wenn Sie respond_to verwenden, wird bei normalem Zugriff auf ./page show.html.erb (unter der Annahme, dass diese Aktionsmethode “show” ist) referenziert, und wenn ./page.json explizit json mit einer Erweiterung anfordert, referenziert es den Inhalt der in format.json angegebenen @json-Variablen und gibt ihn unverändert aus.

Also… wenn Sie es nur als dedizierte API verwenden, müssen Sie nicht wirklich respond_to verwenden. Nur für den Fall.

to_json escaped Variablen als JSON. Es gibt etwas Ähnliches wie escape_Javascript(?), aber es scheint besser zu sein, dieses zu verwenden.

Diesen Artikel teilen

Shou Arisaka 16. Nov. 2025

🔗 Links kopieren