Ruby on rails lax模式下的液体提升合成塔错误

Ruby on rails lax模式下的液体提升合成塔错误,ruby-on-rails,ruby,liquid,Ruby On Rails,Ruby,Liquid,我正在尝试设置Liquid gem,以便它不会在语法错误时引发异常。根据,您可以设置不同的错误模式,如果设置了lax,它应该接受“几乎任何东西”,并且不会引发任何异常。即使我设置了该模式,也会引发异常,例如: 1.9.3-p551 :041 > Liquid::Template.error_mode = :lax => :lax 1.9.3-p551 :042 > Liquid::Template.error_mode => :lax 1.9.3-p551 :043

我正在尝试设置Liquid gem,以便它不会在语法错误时引发异常。根据,您可以设置不同的错误模式,如果设置了
lax
,它应该接受“几乎任何东西”,并且不会引发任何异常。即使我设置了该模式,也会引发异常,例如:

1.9.3-p551 :041 > Liquid::Template.error_mode = :lax
 => :lax
1.9.3-p551 :042 > Liquid::Template.error_mode
 => :lax
1.9.3-p551 :043 > Liquid::Template.parse("Thank you for your purchase at {{shop_name}")
Liquid::SyntaxError: Liquid syntax error: Variable '{{shop_name}' was not properly terminated with regexp: /\}\}/
    from /Users/david/.rvm/gems/ruby-1.9.3-p551/gems/liquid-3.0.6/lib/liquid/block.rb:104:in `create_variable'
    from /Users/david/.rvm/gems/ruby-1.9.3-p551/gems/liquid-3.0.6/lib/liquid/block.rb:44:in `parse'
    from /Users/david/.rvm/gems/ruby-1.9.3-p551/gems/liquid-3.0.6/lib/liquid/tag.rb:10:in `parse'
    from /Users/david/.rvm/gems/ruby-1.9.3-p551/gems/liquid-3.0.6/lib/liquid/document.rb:5:in `parse'
    from /Users/david/.rvm/gems/ruby-1.9.3-p551/gems/liquid-3.0.6/lib/liquid/template.rb:122:in `parse'
    from /Users/david/.rvm/gems/ruby-1.9.3-p551/gems/liquid-3.0.6/lib/liquid/template.rb:108:in `parse'
    from (irb):43
    from /Users/david/.rvm/gems/ruby-1.9.3-p551/gems/railties-3.2.17/lib/rails/commands/console.rb:47:in `start'
    from /Users/david/.rvm/gems/ruby-1.9.3-p551/gems/railties-3.2.17/lib/rails/commands/console.rb:8:in `start'
    from /Users/david/.rvm/gems/ruby-1.9.3-p551/gems/railties-3.2.17/lib/rails/commands.rb:41:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'
1.9.3-p551:041>Liquid::Template.error\u mode=:lax
=>:lax
1.9.3-p551:042>液体::模板。错误模式
=>:lax
1.9.3-p551:043>Liquid::Template.parse(“感谢您在{{shop_name}购买”)
Liquid::SyntaxError:Liquid语法错误:变量“{shop\u name}”未正确地以regexp://\}结尾/
from/Users/david/.rvm/gems/ruby-1.9.3-p551/gems/liquid-3.0.6/lib/liquid/block.rb:104:in'create_variable'
from/Users/david/.rvm/gems/ruby-1.9.3-p551/gems/liquid-3.0.6/lib/liquid/block.rb:44:in'parse'
from/Users/david/.rvm/gems/ruby-1.9.3-p551/gems/liquid-3.0.6/lib/liquid/tag.rb:10:in“parse”
from/Users/david/.rvm/gems/ruby-1.9.3-p551/gems/liquid-3.0.6/lib/liquid/document.rb:5:in“parse”
from/Users/david/.rvm/gems/ruby-1.9.3-p551/gems/liquid-3.0.6/lib/liquid/template.rb:122:in'parse'
from/Users/david/.rvm/gems/ruby-1.9.3-p551/gems/liquid-3.0.6/lib/liquid/template.rb:108:in'parse'
来自(irb):43
from/Users/david/.rvm/gems/ruby-1.9.3-p551/gems/railties-3.2.17/lib/rails/commands/console.rb:47:in'start'
来自/Users/david/.rvm/gems/ruby-1.9.3-p551/gems/railties-3.2.17/lib/rails/commands/console.rb:8:in'start'
来自/Users/david/.rvm/gems/ruby-1.9.3-p551/gems/railties-3.2.17/lib/rails/commands.rb:41:in`'
来自脚本/rails:6:in'require'
来自脚本/rails:6:in`'

我错过了什么?

好像你错过了一秒钟
}

而不是

Liquid::Template.parse("Thank you for your purchase at {{shop_name}")
试一试

实际上,在这种情况下,你不能避免液体上升的例外情况。
(以防万一有人碰到同样的问题,我不会结束这个问题)

是的,我知道有语法错误,我要做的是配置Liquid,这样它就不会在此类错误上引发异常。我编辑了这个问题,使它更清楚
Liquid::Template.parse("Thank you for your purchase at {{shop_name}}")