0

我是一个完整的 Rails 初学者,我正在尝试理解完整的概念。我已经尝试解决这个问题几个小时了,我想在这里问一下。

我想对在 localhost 上运行的 Rails 应用程序执行 JSON 请求。但我不知道是我使用了错误类型的 JSON 请求软件(我使用的是 CocoaRestClient for mac)还是我的代码不正确。

我观察到,当我在 rails 中创建一个 POST 类型的 JSON 请求时,它会被引导到create方法。我想要实现的是实际存储从 JSON 接收到的多个变量,然后在页面上显示它。我知道这很简单,但真的很难,因为我尝试了很多东西。

我的问题:

  1. 我将在 create 方法上捕获事件。如何从 JSON 请求中获取参数。我试过@username = params[:username]了,但没有成功。
  2. 如果我有幸捕捉到 JSON 提供的参数,我应该在哪个页面打印它们。我试图在索引或显示页面上显示,但也无法管理。
4

1 回答 1

0

你有request变量,实际上是ActionDispatch::Request类的实例。在这里,您有#body返回原始请求正文的方法。因此,如果您在正文中发送 JSON 请求,您应该解析它,即:

data = JSON.parse request.body
data['username']

如果你想显示它,你有 3 个选项:

  • 在方法中渲染视图#create是个坏主意,因为这种方法只是将模型保存到数据库
  • 将数据保存到数据库并显示在下一页
  • 或使用flash对象并将其仅存储到下一个请求
于 2012-09-10T14:28:40.947 回答