2017-08-24 3 views
0

Ich bin neu bei Rails. Ich versuche, meine JSON-Ausgabe hübsch auszudrucken.pretty print JSON Schienen

Es sind keine Ansichtsdateien vorhanden.

Eine Methode generiert eine JSON-Ausgabe, und ein Controller rendert die Ansicht dieses JSON.

Ich habe hinzugefügt JSON.pretty_generate innerhalb der Methode wie:

JSON.pretty_generate({"files" => list_files}.to_json) 

Aber das hat nicht funktioniert. Dann habe ich es in den Render in der Steuerung, wie die folgenden hinzugefügt:

Methode:

def list_files_json 
    list_files = google_files.map do |o| 
    {title: o.title, id: o.id, size: o.size, created_at: o.created_time} 
    end 
    {"files" => list_files}.to_json 
end 

Controller:

def show 
    google_list = DiscourseDownloadFromDrive::DriveDownloader.new(nil).list_files_json 

    respond_to do |format| 
     format.json {render json: JSON.pretty_generate(google_list)} 
     format.html {render html: google_list} 
    end 
    end 

ich eingecheckt haben andere Threads verwandt und versucht die Lösung nachzuahmen (erfolglos). Was vermisse ich?

Antwort

0

statt einfach zurück {"files" => list_files} versuchen Sie dies.

+0

'JSON.pretty_generate ({" files "=> list_files})' gibt mir das gleiche Ergebnis. Keine schöne Ausgabe:/ – catch22

+0

Sie geben JSON ohne pretty json zurück und verwenden JSON.pretty_generate (@json_data) direkt in der View-Datei. –

+0

Es gibt keine Ansichtsdatei. Nur ein Controller und eine andere Datei mit einem Skript sowie eine Route für die Show-Aktion. – catch22