2013-10-25 46 views
2

我從我的終端上運行Ruby腳本到一個Rails應用程序中運行他們正在過渡。在我的Ruby腳本我有這樣的代碼:轉儲從API到的信息模型

call = "#{client_id}/lookup/member/email?email=#{email}" 
url = HTTParty.get("#{base_uri}#{call}", 
    :basic_auth => auth, 
    :headers => {'Accept' => 'application/json' }) 

response = JSON.parse(url.body) 

email = response["email"] 

這將返回,例如,email

然後,在一個單獨的項目,我在我的Rails應用程序的模型稱爲Email

我怎麼可以從我的腳本上面API調用來動態地創建「Emails」我的Rails應用程序中,這樣我可以做這樣的事情:

<% @emails.each do |email| %> 
    <tr> 
    <td><%= link_to email.id, email_path(email) %></td> 
    <td><%= email.name %></td> 
    <td><%= email.surveyid %></td> 
    <td><%=l email.created_at %></td> 
...... 

回答

0

那麼你可以使用一個串行/編組哈希通過使用YAML.load/dump。或者你可以一個接一個地將api字段映射到一個活動記錄對象。

e = Email.new 
e.name = response["email"]["name"] 
e.surveryid = response["email"]["surveyid"] 
#........ Adittional field mappings ........... 
e.save 
+0

這段代碼對我來說很合理 - 但是代碼要在何時運行,以便視圖能夠填充正確的表單。我對Rails中不同模塊的理解非常有限,我認爲這是我遇到的主要問題。也許關於在哪裏學習不同的鋼軌如何協同工作的一些提示更多地符合我需要的內容。 – Luigi

+0

@Luigi如果你從Web服務中獲取數據,爲什麼你需要一個表單? –