我在Ruby/Rails中集成了其他人的庫,它提供了從API返回輸出的自定義類。這是上課的時候和自定義方法在軌控制檯提交自帶的代碼和輸出的例子:解析數組輸出到表 - Ruby Rails
CustomClass.mymethod 'this is a normal string of text that i am submitting to the rails console.'
=> #<CustomClass::MyMethod:0x10159d4e8 @info={"output1"=>"15", "output2"=>"1"}, @otherinfo={0}, @moreinfo={0}, @stillmore={"violations"=>"0"}>
在我的應用程序,我把這種對用戶提交的文本後(所謂的「內容」 )&將輸出放入與「帖子」表中該帖子關聯的列中。眼下這是「創建」行動中,在我的職位控制器正在做:
@post.output = CustomClass.mymethod(@post.content)
哪些職位的右輸出,但它的格式是一個爛攤子:
---紅寶石/對象:CustomClass :: MyMethod otherinfo:{} moreinfo:{} info:? !ruby/string:REXMLUtiliyNodeString str:output1 attributes:{}:!ruby/string:REXMLUtiliyNodeString str:'1'attributes:{}? !ruby/string:REXMLUtiliyNodeString str:output2 attributes:{}:!ruby/string:REXMLUtiliyNodeString str:'15'attributes:{} stillmore:{0}
是否有簡單的方法來清理輸出並寫入每篇文章到我的帖子表的不同列中,或者我可以只抓取其中一個數組對象(@otherinfo/otherinfo:{})並將其寫入posts表中?
我對Ruby/Rails很新,所以我感謝您的耐心和幫助!我確信這很簡單,但今天我找不到任何能讓我得到我需要的東西。我甚至會感謝鏈接,這些鏈接將幫助我理解如何學習正確的命令來解析或轉換文本字符串。
謝謝!
輸入產生的輸出是什麼? – Fred
對不起 - 我沒有正確縮進輸出字符串,所以有些被切斷......現在已經修復顯示格式以顯示整個輸出。 – SOConnell
您收到的輸出是YAML,但格式不正確。最好的辦法是找出爲什麼它變得格格不入,然後使用YAML解釋器解析它以將其重新轉換爲Ruby對象。因爲它創建了一個名爲MyMethod的自定義類,並帶有一些字段。 –