Я пытаюсь извлечь некоторые данные из массива со следующим синтаксисом:
@entries_from_db = XrEntry.find(:all, :conditions => [:FeedURI => uri ], :select => 'json')
The: FeedURI - это запись, содержащая массив с uri [ "123456", "23345", "4453" ] Ури - это переменная, в которой содержится текущий uri.
Утверждение, которое я пытаюсь сделать, это "выбрать JSON из XrEntry, где FeedURI содержит uri" Я застрял на части, чтобы получить доступ к массиву и всегда получать несколько сообщений об ошибке при попытке использовать другой код.
Есть ли у кого-нибудь идеи? Спасибо!
Я решил это с помощью этого синтаксиса
@entries_from_db = XrEntry.find(:all, :conditions => ["FeedURI like ?", "%#{uri}%"] , :select => 'json')
"% # {your_rails_variable}%" необходимо прочитать в массиве
Кажется, вы переключили синтаксис условий. вы можете начать с атрибута db, а затем с переменной.
@entries_from_db = XrEntry.find(:all,
:conditions => { :uri => FeedURI },
:select => 'json')
Это вернет массив объектов XrEntry с атрибутом json. Чтобы получить массив только данных json, вы можете сопоставить его следующим образом:
@json_array = @entries_from_db.map(&:json)