HAML视图出现unexpected instance variable语法错误,求解决
解决HAML循环中"unexpected instance variable"错误
你的HAML代码循环语法混用了两种写法,导致解析报错。HAML遍历集合有两种正确方式,但不能合并使用:
- Ruby块式遍历:
- @playlists.each do |playlist| in关键字遍历:- playlist in @playlists
你当前的代码- playlist in @playlists.each do |playlist|把两种语法混在一起,属于语法错误,所以解析器无法正确识别@playlists变量,抛出"unexpected instance variable"错误。
另外要注意HAML的缩进规则:循环内部的元素必须缩进一层,否则不会被包含在循环块中。
修正后的index.haml代码(推荐用Ruby块写法,更符合Rails习惯):
.row - @playlists.each do |playlist| .col-lg-2 .card = link_to playlist.name, playlist
或者使用in关键字的写法:
.row - playlist in @playlists .col-lg-2 .card = link_to playlist.name, playlist
内容的提问来源于stack exchange,提问作者Trunks
相关产品推荐
相关产品推荐

