【问题标题】:Ajax and Json with RailsAjax 和 Json 与 Rails
【发布时间】:2012-09-11 22:11:27
【问题描述】:

我关注了 Hartl 的 Rails tutorial,他使用 RJS 进行 Ajax,并在响应中发送 javascript 以在客户端执行以编辑 DOM。

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

【问题讨论】:

    标签: javascript jquery ruby-on-rails ajax rjs


    【解决方案1】:

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

    <script type = 'text/javascript'> var theJSON = <%= @my_json %> </script>
    现在,您的数据在 DOM 中可用,并很好地解析为 JSON。

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

    这是一个很好的 RailsCast,希望能在你的道路上帮助你Passing Data to Javascript

    【讨论】:

      【解决方案2】:

      你应该看看Ajax in Rails 3.1 - A Roadmap

      【讨论】: