获取ajax中的数组值,ruby on rails

时间:2014-12-23 09:28:26

标签: ruby-on-rails ruby ajax

我使用ajax在客户端检查验证,但我不知道如何在rails上获取ruby数组的值。这是我的ajax:

<script>
    $(document).ready(function() {
        $("#button").click(function() {
            var email = $("#email").val();
            var name = $("#username").val();
            var phonenumber = $("#phonenumber").val();
            var pass = $("#password").val();
            var names = $("divname").toString();
            console.log(names);
            ....
        });
    }); 
</script>

当我查看Console.log时,我只看到&#34; Object&#34;但不是数组的值:

 "[object Object]"

这是我的数组,由ruby在rails上调用:

<% @usernames.each do |t| %>
<div id="divname"><%= t.username %></div>
<%end%>

这是我的控制器:

def index
    @usernames = User.find(:all, :select => "username")
    @user = User.create(:username => params[:username], :password => params[:password],
                        :email => params[:email], :phonenumber => params[:phonenumber])
    if @user 
      render 'index'
    else
      render 'index'
    end

所以,拜托!帮我解决这个问题:)

1 个答案:

答案 0 :(得分:1)

$("divname")是一个jQuery对象,因此toString()的结果为"[object Object]"

ID 应该是唯一的,请改用class

<% @usernames.each do |t| %>
  <div class="divname"><%= t.username %></div>
<%end%>

然后在js:

var names = $(".divname").map(function() {
  return $(this).text();
}).get();
console.log(names);