Здесь может возникнуть ряд проблем.
Во-первых, убедитесь, что поле body в вашей таблице имеет достаточную длину для содержания содержимого текстовых файлов..
Кроме того, вы можете получить не то, что вам нужно.Из RDoc:
Reads the next ``line’’ from the I/O stream; lines are separated by sep_string. A separator of nil reads the entire contents, and a zero-length separator reads the input a paragraph at a time (two successive newlines in the input separate paragraphs). The stream must be opened for reading or an IOError will be raised. The line read in will be returned and also assigned to $_. Returns nil if called at end of file.
То, что вы, вероятно, хотите, это IO.read
здесь, чтобы гарантировать, что вы получите весь файл, так как он может по умолчанию указать путь к файлуЗдесь вообще не нужно использовать файл:
Chapter.create!(:title => "chapter 1",
:body => IO.read("#{Rails.root}/chapters/chapter1.txt"))
Chapter.create!(:title => "Chapter 2",
:body => IO.read("#{Rails.root}/chapters/chapter2.txt"))
Chapter.create!(:title => "Chapter 3",
:body => IO.read("#{Rails.root}/chapters/chapter3.txt"))