Ruby on rails 在.yml文件中将字符串拆分为两行
我需要在一个文件.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
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"}
希望这是有道理的。我认为您只需要添加“>”并将文本移动到下一行