Ajax and Json with Rails

Ajax and Json with Rails

本文关键字:Rails with Json and Ajax      更新时间:2023-09-26

我学习了Hartl的Rails教程,他在教程中使用RJS进行Ajax,并在响应中发送javascript,以便在客户端执行以编辑DOM。

但是,如果只想在响应中发送JSON而不发送javascript,该怎么办。这也意味着操作DOM的javascript应该已经在客户端的html文件中了。关于如何在Rails中做到这一点,有没有像Hartl的书一样好的教程。大概它会使用Jquery和其他一些我可能没有听说过的东西来使代码不是一百万行?

我对答案的最佳尝试是,它实际上取决于您试图实现的目标的范围和复杂性。通常,JSON显示在视图中。如果您的应用程序不需要动态检索JSON,也就是说,您可以在最初呈现视图时加载所有JSON,那么您可以在视图的控制器中设置一个实例变量,如下所示@my_json = some_object.to_json()然后,您的实例变量在视图中可用

<script type = 'text/javascript'>
        var theJSON = <%= @my_json %>
    </script>

现在,您的数据在DOM中可用,可以很好地解析为JSON。

如果您的应用程序要求您在加载控制器/视图后动态检索JSON,那么您可能应该考虑使用AJAX来调用返回您所需JSON的特定控制器的方法。

这里有一个很好的RailsCast,有望帮助您将数据传递到Javascript

您应该看看Rails 3.1中的Ajax-a Roadmap。