【问题标题】:Rails 5 - sending data from controller to javascript in json format [closed]Rails 5 - 以json格式将数据从控制器发送到javascript [关闭]
【发布时间】:2016-09-10 13:28:37
【问题描述】:

我希望能够将一组对象发送到我的 Google 地图,以便显示位置。

我想问的是最好的方法是什么? 我试图使用 RABL gem,但他们的教程并不完全是最新的。

然后我找到了有关使用 rails 构建和 API 的信息。这似乎是一个不错的计划,但我不知道如何使用它。 Google 充满了 tuts,但仅用于构建仅 API 的应用程序,我已经有了我的应用程序,只是想向它添加一个 API。

我应该从哪里开始寻找它?

【问题讨论】:

  • 最简单的就是在你的控制器中响应 JSON 格式。您可以使用 jbuilder 轻松渲染 json 部分。 https://github.com/rails/jbuilder 。在 Rails 应用程序中实现 API 的常用方法是使用 grape 库。 https://github.com/ruby-grape/grape 是用于编写 API 的 DSL。如果不使用 rails 5,您可以单独要求 rails-api 库并实现仅 API 控制器。在同一个应用程序中让控制器从ApplicationController::Base 和其他从ApplicationController::API 继承似乎微不足道,但我可能错了。

标签: javascript ruby-on-rails json ruby


【解决方案1】:

在你的控制器中试试这个:

def something_controller
   @something = YourModel.all
   respond_to do |format|
      format.json { render :json => @something } 
   end
end

如果您使用的是 jQuery,请在您的 javascript 中:

$.getJSON('your_controller/your_action.json', function(data) {
  // and here you can do something with tour json data
  console.log(data)
});

【讨论】:

  • 我应该如何使用它?我在上一篇文章中提到过,但我是新手。 1-2 周前开始使用 RoR。
  • 我已编辑,并为您添加了更好的解决方案
  • 我还注意到,respond_to/with 不再包含在 rails 5 中,因此在安装“responders”gem 后,它不会按预期工作。无论如何,谢谢!
  • 我试过了,没有错误,但它没有将数据记录到控制台?完全空白。
猜你喜欢
  • 2016-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-25
  • 1970-01-01
  • 2018-01-18
相关资源
最近更新 更多