我正在尝试设置 Liquid gem,以便它不会引发语法错误异常。根据Liquid gem Readme page ,您可以设置不同的错误模式,如果设置了 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>'
我错过了什么?
最佳答案
您似乎缺少第二个 }
。
代替
Liquid::Template.parse("Thank you for your purchase at {{shop_name}")
尝试
Liquid::Template.parse("Thank you for your purchase at {{shop_name}}")
关于ruby-on-rails - 宽松模式下的流动性提升语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33242479/