2013-10-14 1 views
0

Итак, вот вопрос: как я могу вставить много кода HTML (около 200 строк кода) в базу данных с помощью миграции? Я пытался сделать это:Рельсы: добавьте много HTML-кода через миграцию в базу данных

class AddManyruToPages < ActiveRecord::Migration 
include ActionView::Helpers 
def up 
     Page.create(
     slug:'manyru', 
     content: 
     <<-HTML 
     <div class="manyru-wrapper"> 
     <div class="many-header"> 
      <div class="many-content"> 
      <div class="logo"> 
      #{image_tag "/images/manyru/many-logo.png"} 
      </div>     
      </div>      
     </div> 
     </div> 
     HTML 
    ) 
end 

def down 
     Page.find_by_slug('manyru').destroy 
end 
end 

, но это не сработало. Единственное, что я знаю, это то, что после вставки сразу происходит откат, и я не знаю почему? Если я должен добавить дополнительную информацию, пожалуйста, сообщите.

ответ

1

Откат обычно означает, что ваш метод create не выполнен из-за валидаций, указанных в вашей модели.

Присвоить привести к некоторой переменной:

p = Page.create ... 

А потом проверять ошибки:

puts p.errors.full_messages.inspect 
+0

Извините за задержку Эдгаров. Мне понравилось, что вы сказали, но он показывает мне только это: неопределенная локальная переменная или метод 'config ', и я думаю, что проблема заключается в помощнике' image_tag 'в моем коде. Как вы думаете? – Arty

+0

Мне нужно увидеть внутри HTML и узнать, где была ошибка. –

+0

Добавлен небольшой фрагмент кода – Arty