APIからの出力を返すカスタムクラスを提供するRuby/Railsに他の誰かのライブラリを統合しています。これは、クラスとカスタム メソッドが 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)
正しい出力を投稿しますが、そのフォーマットは混乱しています:
--- !ruby/object:CustomClass::MyMethod otherinfo: {} moreinfo: {} info: ? !ruby/string:REXMLUtiliyNodeString str: output1 属性: {} : !ruby/string:REXMLUtiliyNodeString str: '1' 属性: {} ? !ruby/string:REXMLUtiliyNodeString str: output2 属性: {} : !ruby/string:REXMLUtiliyNodeString str: '15' 属性: {} stillmore: {0}
出力をクリーンアップして、各部分を posts テーブルの異なる列に書き込む簡単な方法はありますか? または、配列オブジェクト (@otherinfo / otherinfo: {}) の 1 つだけを取得して、posts テーブルに書き込むことはできますか?
私は Ruby/Rails を初めて使用するので、ご理解とご協力をお願いいたします。これは単純なことだと確信していますが、今日、私が必要とする場所にたどり着いたものは何も見つかりませんでした. テキスト文字列の解析または変換を行うための正しいコマンドを学ぶ方法を理解するのに役立つリンクもありがたく思います。
ありがとう!