将JSON数据保存到rails数据库

时间:2014-10-02 14:54:58

标签: ruby-on-rails database

我创建了一个自动填充搜索字段,用户可以在其中键入电影标题,它会显示所有结果,如下所示> http://i.imgur.com/Si9Fffv.png

我要做的下一件事是给用户一个将电影标题保存到数据库的选项。正如您在图像中看到的,每个结果都有一个"添加"按钮。这是与其目标中的电影ID的链接。它可以是按钮或跨度等任何东西。

当用户点击添加按钮时,我想在我的数据库中存储具有该ID的电影的电影标题。

我已经制作了一个名为movie的模型和一个名为title的collumn。我还生成了一个名为movie的控制器,我创建了一个表单字段,让用户输入电影标题,然后将其保存为电影模型>标题列。但这更适合测试。就像我上面说的那样,我想将电影标题从特定ID保存到我的数据库中。

我知道如何从TMDB api获得JSON响应, click

但我不知道的是如何链接我的"添加"按钮返回该响应,然后获取一些数据,如标题或海报网址,并将其发布到我的数据库中。

1 个答案:

答案 0 :(得分:1)

假设您要从返回的JSON中保存results密钥。你可以做类似下面的事情

require 'rest-client'

#Assuming you have a responses table or any other where you want to save
class Response < ActiveRecord::Base

  def save_results
    data = RestClient.get('http://api.themoviedb.org/3/search/movie?api_key=a8f7039633f2065942cd8a28d7cadad4&query=i+know+what+you')
    parsed_json =  JSON.parse(data)
    #If you have a result column, you may save it there
    self.results = parsed_json['results']
    save!
  end
end