0
我有一個應用程序,消耗Web服務,加載一個對象沒有持久化在數據庫中(我通過JSON獲得並將其變成紅寶石對象)。如何將此對象的屬性發送到創建表單。通過webservice接收到的一個新對象參照這個對象進行創建。我怎樣才能從非持久對象的屬性從未持久對象在軌道上
我想點擊一個按鈕「添加新的」取其屬性,並將這些屬性添加到要保留在數據庫中的新對象的屬性。
我該怎麼做?
感謝。
我有一個應用程序,消耗Web服務,加載一個對象沒有持久化在數據庫中(我通過JSON獲得並將其變成紅寶石對象)。如何將此對象的屬性發送到創建表單。通過webservice接收到的一個新對象參照這個對象進行創建。我怎樣才能從非持久對象的屬性從未持久對象在軌道上
我想點擊一個按鈕「添加新的」取其屬性,並將這些屬性添加到要保留在數據庫中的新對象的屬性。
我該怎麼做?
感謝。
將api的屬性作爲JSON接收並解析爲紅寶石哈希後,您可以將其丟入Model.new
。
attrs = JSON.parse(api_response_body)
#=> {"title" => "foobar"}
@article = Article.new(attrs)
#=> #<Article title: "foobar">
我明白你想在一個請求的API響應,然後用在未來獲得的值:例如,你可以在第一頁,其中API提出請求的控制器動作做請求實際持久化值到數據庫。因此,您需要跟蹤請求之間的值。一個簡單的方法來acheive將被使用形式與第一頁上隱藏字段:
<%= form_for @article do %>
<%= f.hidden_field :title %>
<!-- more hidden fields here... -->
<%= f.submit 'New Article from API Result' %>
<% end %>
然後,你可以簡單地重新使用你的資源#create
動作正常未做任何修改。您還可以免費獲得所有的驗證,強大的參數等。