Rails:'create'方法在哪里重定向到?

时间:2012-09-10 14:04:33

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

我是一个完整的rails初学者,我正在努力理解完整的概念。我真的试图解决这个问题几个小时,我想在这里问。

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

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

我的问题:

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

1 个答案:

答案 0 :(得分:0)

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

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

如果你想展示它,你有3个选择:

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