我正在使用 Rails 4,而且对 JSON 对象还很陌生。
我有一个控制器:
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 users.js:
$.ajax({
url: "/users/select_users",
dataType: "json",
data: {
prezzario: ui.item.value
},
success: function(data) {
$('#usersList').append(data.users);
}
});
现在我想在 div 中渲染这个用户集合,但我不知道如何做。在数据响应中,我在控制台中有正确的数据,其对象如下:
{"users":[{"_id":{"$oid":"536cf7b6b8dd181f4b7acf9f"},"children":[{"$oid":"536cf7b6b8dd181f4b7acfa0"},{"$oid":"536cf7b7b8dd181f4b7acfd1"}],"description":"Some description.","name":"My name","user_id":"1"},{...........}]}
我有一个部分 /users/_users.html.erb 与经典的 users.each 和所有属性的打印。
如果我尝试
$('#usersList').append("<%= render 'users', :locals{ :users => "+data.users+"} %>");
我在div中找到#usersList <%= render 'users', :locals{ :users => undefined }%>
我想创建一个部分模板并用它来呈现用户。我怎样才能做到这一点?