В ходе разработки сегодня вечером обнаружил это сообщение об ошибке: SQLite3 :: BusyException: база данных заблокирована:
У меня есть две модели:
Чтобы создать подкаст:
. Я пытаюсь заставить мое приложение rails воспользоваться тем фактом, что в json-фиде также указываются имена (и исполнители ) треков, которые принадлежат этому подкасту.
Я думал, что следующий метод before_validation будет автоматически создавать все связанные треки всякий раз, когда мы создаем новый подкаст.
class Podcast < ActiveRecord::Base
attr_accessible :mixcloud_url, :lots, :of, :other, :attrs
has_many :tracks
before_validation :create_tracks
def create_tracks
json = Hashie::Mash.new HTTParty.get(self.json_url)
json.sections.each do |section|
if section.section_type=="track"
Track.create(:name=>section.track.name, :podcast_id=>self.id)
end
end
end
end
Как я могу обойти это? Похоже, что rails (или sqlite3) не любит, когда я создаю новые экземпляры связанной модели таким образом. Как еще я могу это сделать? Я подозреваю, что это такая же проблема с рельсами, как и с sqlite3. Я могу опубликовать дополнительный код, если он поможет.