Извлечь данные из массива в БД (рельсы) - PullRequest
0 голосов
/ 21 января 2011

Я пытаюсь извлечь некоторые данные из массива со следующим синтаксисом:

@entries_from_db = XrEntry.find(:all, :conditions => [:FeedURI => uri ], :select => 'json')

: FeedURI - это запись, которая содержит массив с URI ["123456", "23345", "4453"] URI - это переменная, которая содержит текущий URI.

Утверждение, которое я пытаюсь сделать, это 'выбрать JSON из XrEntry, где FeedURI содержит URI' Я застрял на части для доступа к массиву и всегда получаюнесколько сообщений об ошибках, когда я пытаюсь использовать другой код.

У кого-нибудь есть идея?Спасибо!

Ответы [ 2 ]

1 голос
/ 21 января 2011

Я решил это с помощью этого синтаксиса

@entries_from_db = XrEntry.find(:all, :conditions => ["FeedURI like ?", "%#{uri}%"] , :select => 'json')

"% # {your_rails_variable}%" необходим для чтения в массиве

0 голосов
/ 21 января 2011

Вы, кажется, изменили синтаксис условия. Вы должны начать с атрибута db, а затем с переменной.

@entries_from_db = XrEntry.find(:all, 
                                :conditions => { :uri => FeedURI }, 
                                :select => 'json')

Это вернет массив объектов XrEntry с присутствующим только атрибутом json. Чтобы получить массив только данных JSON, вы можете отобразить его так:

@json_array = @entries_from_db.map(&:json)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...