我使用軌道4,並得到下面的來自不同源的合併JSON陣列與對象 - 的Rails 4-紅寶石
source1中
@something1 = book.find().to_json
輸出
"[{\"a\": \"val1\"}]"
源2輸出JSON
@something2 = Author.where(title: :autitle).pluck(:val2).to_json
輸出
"[{\"b\": \"val2\"}]"
源3
@something3 = Publications.find_by_pub_id(id)
輸出
{
"c":"val3",
"d":" val4"
}
我要像
{
"a": "val1",
"b": "val2",
"c":"val3",
"d":" val4"
}
最終輸出像
@newval= @something1[0].merge(@something2[0]).merge(@something3)
我已經使用合併但是,它給了錯誤
未定義的方法合併!
這些變量指數法裏像
class Test controller < api::controller
def index
@something1 = ..
@something2 = ..
@something3 = ..
end
end
希望這是顯而易見的。
您可以包括完整的日誌/錯誤信息?用提供的例子[熊的回答](https://stackoverflow.com/a/45567464/6136634)工作正常(你可以看到它在[這裏](https://repl.it/KB2T/0)(https://repl.it/KB2T/0)),所以也許你在'@ something'變量中獲得了不同的輸出。 – Gerry
@Gerry雖然這個例子很好(和功能),也許我們應該清楚,問題中的**輸出**是不準確的。 JSON是一個'String',因此第一個例子的正確輸出實際上是'「[{\」a \「:\」val1 \「}]」'。 '字符串'沒有'合併'方法,如果OP發佈了完整的消息,那麼這種方法會更加明顯。例如'未定義的方法合併!爲「[{\」a \「:\」val1 \「}]」:String' *編輯問題的正確輸出* – engineersmnky
@Khoga從前兩個移除'to_json'調用並將其添加到合併的末尾鏈。見[Gerry's repl的更新版本](https://repl.it/KB2T/2) – engineersmnky