2014-10-02 98 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