【问题标题】:Rails: Where does the 'create' method redirects to?Rails:“创建”方法重定向到哪里?
【发布时间】:2012-09-10 14:04:33
【问题描述】:

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

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

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

我的问题:

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

【问题讨论】:

    标签: ruby-on-rails json parsing url-routing


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2017-07-02
      • 1970-01-01
      • 2019-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多