Vue.js in Slim 語法的小問題 Slim::Parser::SyntaxError
當我們使用 Vue.js 搭配 slim 時(事實上 Angular 應該也有相同的問題)時
| 1 | div id="app" | 
立馬收到Slim::Parser::SyntaxError的錯誤訊息。
但是改成這樣卻又正常
| 1 | div id="app" {{ message }} | 
好啦!答案很明顯了就是我們有地方寫錯,讓 slim engine 誤會了。
這邊紀錄一下解法:
補上屬性
第一個最簡單的方式就是幫 p 補上隨意一個屬性
| 1 | div id="app" | 
加上 [], (), {} 任何一種
| 1 | div id="app" | 
使用 |
| 1 | div id="app" | 
修改設定
上面的解法都是因為 slim 預設會把 {} () [] 和 tag 後面接的 property=value 當作屬性(attributes)來解析。
所以我們只要把 {} 拿掉就正常了。
新增或修改 config/initializers/slim.rb 加入
| 1 | Slim::Engine.set_options :attr_list_delims => {'(' => ')', '[' => ']'} |