Ruby on rails 在.yml文件中将字符串拆分为两行

Ruby on rails 在.yml文件中将字符串拆分为两行,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-4,ruby-on-rails-3.1,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 4,Ruby On Rails 3.1,我需要在一个文件.yml中将一个字符串拆分为两行或三行。问题是,如果我尝试将最后一个字段描述拆分为两行,则会触发错误, 因此,我只留下一行 one: id: 1 bus_company_id: 2 seat_type_id: 1 description: Butacas 120º de inclinación, calefacción y aire acondicionado, música funcional y video. t

我需要在一个文件.yml中将一个字符串拆分为两行或三行。问题是,如果我尝试将最后一个字段描述拆分为两行,则会触发错误, 因此,我只留下一行

one:
  id: 1
  bus_company_id: 2
  seat_type_id:   1
  description:    Butacas 120º de inclinación,
                  calefacción y aire acondicionado, música funcional y video.

two:
  id: 2
  bus_company_id: 2
  seat_type_id:   2
  description:    Butacas de cuero y paño 120º de reclinación,  bandeja de apoyo
   para pies, calefacción y aire acondicionado, música funcional y video.

three:
  id: 3  
  bus_company_id: 2
  seat_type_id:   4
  description:    Butacas extra ancho de cuero y paño 150º de reclinación, bandeja de apoyo para pies,
   desayuno, almohada y frazada, sistema de DVD y MP3.

four:
  id: 4 
  bus_company_id: 2
  seat_type_id:   5
  description:    Butacas de cuero 180º reclinación, bandeja de apoyo para pies de 180º de reclinación, cortina divisoria, almohada y frazadas sonido sourround, sistema de DVD y MP3, aire y calefacción, menú a elección de carne, pollo o verdura  para su cena.
将触发此错误

fernando@fernando:~/ProyectoTicketMaster/TicketMaster$rake db:seed
雷克流产了!
ActiveRecord::Fixture::FormatError:解析/home/fernando/ProyectoTicketMaster/TicketMaster/test/fixtures/bus_seat_types.yml时发生YAML错误。请注意,YAML必须使用空格一致缩进。不允许使用选项卡。请看一看http://www.yaml.org/faq.html
确切的错误是:
Psych::SyntaxError:():扫描第27行第3列的简单键时,找不到预期的“:”
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_-record/fixtures/file.rb:43:在“行”中
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_-record/fixtures/file.rb:29:in'each'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active\u record/fixtures.rb:670:in`read\u fixture\u文件中的块(2个级别)'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_-record/fixtures/file.rb:20:in'open'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active\u record/fixtures.rb:669:in`block in read\u fixture\u files'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_record/fixtures.rb:668:in'each'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active\u record/fixtures.rb:668:in'read\u fixture\u files'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_record/fixtures.rb:548:in'initialize'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_record/fixtures.rb:482:in'new'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_-record/fixtures.rb:482:in“创建_-fixtures中的块(2个级别)”中
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_record/fixtures.rb:479:in'map'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active\u record/fixtures.rb:479:in`block in create\u fixtures'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active\u record/connection\u adapters/abstract\u mysql\u adapter.rb:232:在“禁用引用完整性”中
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active\u record/fixtures.rb:476:in'create\u fixtures'
/home/fernando/ProyectoTicketMaster/TicketMaster/db/seeds.rb:15:in`'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activesupport-3.2.19/lib/active\u-support/dependencies.rb:245:in'load'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activesupport-3.2.19/lib/active\u support/dependencies.rb:245:in'block in load'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activesupport-3.2.19/lib/active\u-support/dependencies.rb:236:in'load\u-dependency'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activesupport-3.2.19/lib/active\u-support/dependencies.rb:245:in'load'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/railties-3.2.19/lib/rails/engine.rb:525:in'load_seed'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_record/railties/databases.rake:347:in'block(2层)in'
任务:TOP=>db:seed
(通过使用--trace运行任务查看完整跟踪)
fernando@fernando:~/ProyectoTicketMaster/TicketMaster$

我想您应该使用前面描述的换行格式。看起来您有两个选项,下面是一个使用“>”符号组合的快速示例

parse.rb文件位于此处:

require 'yaml'
foo = YAML.load_file('foo.yaml')
puts foo
以下是YAML文件的内容:

one_line: one line of text
two_lines:
>
this is a couple lines of text
here we go...
final_line: final line of content
当您使用
ruby parse.rb
通过命令行运行此命令时,您将获得以下输出:

{"one_line"=>"one line of text", "two_lines"=>"this is a couple lines of text here we go...\n", "final_line"=>"final line of content"}
希望这是有道理的。我认为您只需要添加“>”并将文本移动到下一行