如何在rails中访问渲染的json对象

时间:2012-01-02 10:08:03

标签: javascript ruby-on-rails ruby-on-rails-3 json

我想在我的java脚本中以json格式访问以下数组@names。 所以在我的控制器中我有这个代码:

def new 
    @release = Release.new
     @names=User.select(:name).where("name LIKE 'sr%'")
    respond_to do |format|
      format.html # new.html.erb
      format.xml  { render :xml => @release }
      format.json { render :json =>{ :data1 => @names} } 
    end
  end

请告诉我如何访问我的视图文件中的data1以及如何将值传递给javascript函数。

谢谢, 拉姆亚。

2 个答案:

答案 0 :(得分:3)

如果你使用jQuery,你可以这样做:

$.getJSON('users/new.json', function(data) {
  console.log(data); //you'll find your json here
});

你这样做:

$(document).ready(function() { 
  $(function(){ 
    $.getJSON('releases/new.json', function(data1) { 
      alert("inside getJson"); alert(data1); console.log(data1); 
    }); 
});

但你应该这样做:

$(document).ready(function() { 
  $.getJSON('releases/new.json', function(data1) { 
    alert("inside getJson"); alert(data1); console.log(data1); 
  }); 
});

或者:

$(document).ready(function() { 
  $(function(){ 
    $.getJSON('releases/new.json', function(data1) { 
      alert("inside getJson"); alert(data1); console.log(data1);
    }); 
  })(); 
});

答案 1 :(得分:2)

而不是http://domain/releases/1您键入http://domain/releases/1.json,您将获得解析为json的数据!