Rails 4: Rendering JSON-Objekt (aus der AJAX-response) in den Blick
Ich bin mit Schienen 4 und ich bin ganz neu bei JSON-Objekten.
Habe ich einen controller:
class UsersController < ApplicationController
def select_users
@users = User.all
respond_to do |format|
format.html
format.js {}
format.json {
render json: {:users => @users}
}
end
end
end
Javascript und users.js:
$.ajax({
url: "/users/select_users",
dataType: "json",
data: {
prezzario: ui.item.value
},
success: function(data) {
$('#usersList').append(data.users);
}
});
Nun möchte ich zum Rendern dieser Sammlung von Benutzern in ein div, aber ich weiß nicht, wie. In die Daten, die Antwort habe ich in der Konsole die richtigen Daten, mit einem Objekt wie diesem:
{"users":[{"_id":{"$oid":"536cf7b6b8dd181f4b7acf9f"},"children":[{"$oid":"536cf7b6b8dd181f4b7acfa0"},{"$oid":"536cf7b7b8dd181f4b7acfd1"}],"description":"Some description.","name":"My name","user_id":"1"},{...........}]}
Habe ich eine teilweise /users/_users.html-Code.erb mit classic-Benutzer.jede und Drucke aller Eigenschaften.
Wenn ich versuche
$('#usersList').append("<%= render 'users', :locals{ :users => "+data.users+"} %>");
Finde ich in den div #usersList <%= render 'users', :locals{ :users => undefined }%>
Erstellen Sie ein teilweiser Vorlage und es verwenden, um render-Benutzer. Wie kann ich dies tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es 3 Lösungen (die ich mir denken kann):
Kann der controller Rendern von HTML-Inhalten im backend, die Sie anfügen, um Ihre js, wie
und
Können Sie so etwas wie Oberlippenbart oder LENKER. Nie benutzt, also kann ich nicht tun, ein gutes Beispiel. Sorry.
Können Sie das Rendern der html-Seite in der "success" - code wie
Müssen Sie
$.parseJSON(data);
ersten.Wie