2014-10-02 86 views
-2

我创建了一个自动完成searchfield其中用户可以输入电影标题,它会显示所有的结果是这样>http://i.imgur.com/Si9Fffv.png保存JSON数据轨数据库

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

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

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

我知道如何从TMDB的API JSON respons, click

但我不知道是怎么到我的链接“添加”按钮,该响应,然后抓住像标题或海报的一些数据网址并将其发布在我的数据库中。

+0

是否要保存返回的JSON的'results'关键数据? – AnkitG 2014-10-02 15:02:36

+0

经过一番思考,我想出了一个理想。我会将每个电影的ID添加到一个href中,当它被点击时,我会请求该ID的数据并将其存储在我的数据库中。 – 2014-10-02 16:31:21

回答

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 
+0

我想在我的'movie'模型的'title'列中保存'original_title'。所以你的代码会进入我的模型文件夹'movie.rb'。 但我只想保存所选电影的'original_title'。那么我如何获得这些数据呢? – 2014-10-06 09:30:56

+0

'.get('http://api.themoviedb.org/3/search/movie?api_key=a8f7039633f2065942cd8a28d7cadad4&query=i+know+what+you')'应该是所选电影的ID,例如: '.get ('http://api.themoviedb.org/3/movie/62?api_key=a8f7039633f2065942cd8a28d7cadad4')'但我怎样才能从视图中获取数据到模型中? – 2014-10-06 09:42:00