Исправление TypeError: нет неявного преобразования Arel :: Nodes :: SqlLiteral в Integer - PullRequest
0 голосов
/ 17 апреля 2020
=> #<Post:0x00009fc6099145ce8
 id: "224cc26e-6a66-43a0-89dc7d880f67",
 title: "Hello World!",
 context:
  {
   "language"=>"Japanese"
   "page"=>{"title"=>"Hello World!", "referrer"=>""},
   "browser"=>{"timezone"=>"Asia/Japan", "language"=>"en-US"},
   "campaign"=>{"source"=>"yahoo", "medium"=>"medium"}
  }

Я пытаюсь создать верный запрос для доступа к полю timezone в столбце context , которое выглядит как

posts_join[Arel::Nodes::SqlLiteral.new("context->>\'browser, timezone\'")]

, но я продолжаю получая ошибку

TypeError: no implicit conversion of Arel::Nodes::SqlLiteral into Integer

В похожей заметке я могу получить доступ к полю language как

posts_join[Arel::Nodes::SqlLiteral.new("context->>\'language\'")
def posts_join
 users.join(:posts).on(posts[:user_id].eq(users[:id])).join_sources
end

Как исправить запрос на доступ часовой пояс поле?

...