我在控制器中的代码如下所示:
def dashboard
@proj_users.each do |us|
@users<<User.find(us.user_id).email
end
render :json=>@users
end
在我的视图页面中,javascript看起来像这样:
$(".clicked").click(function () {
$.get("/dashboard", {
clicked_id:this.id,
user:$("#user").val()
},
function (data) {
$("#all_users").hide();
$("#proj_users").html(data);
});
});
@users
是一个包含电子邮件ID的数组。正如您所见,data
将@users
。
@users
将是这样的
tm@gmail.com,tm2@gmail.com
$("#proj_users").html(data);
未获得数据更新..
请帮帮我......
答案 0 :(得分:1)
two ways
1)解决方案1
@proj_users.each do |us|
email = User.find(us.user_id).email + "<br>"
@users << email
end
render :text=>@users
2)解决方案2
@proj_users.each do |us|
@users<<User.find(us.user_id).email
end
render :json=>@users
in view
$(".clicked").click(function(){
$.get("/dashboard",{
clicked_id:this.id,
user:$("#user").val()
},
function(data)
{
$("#all_users").hide();
$.each(data, function(email){
$("#proj_users").append(email + "<br>");
}
});
});
答案 1 :(得分:1)
您可以简化迭代:
def dashboard
render :json => @proj_users.map(&:email)
end
现在你需要在前端迭代(使用.each()方法)并将其放在你的html中,如@ ubaid的回调函数所示。