我开始使用HAML并正在处理我的第一个文件.表面上正确地省略了" - 结束":
- if current_user = link_to 'Edit Profile', edit_user_path(current_user.id) = link_to 'Logout', logout_path - else = link_to 'Register', new_user_path = link_to 'Login', login_path
得到我:
app/views/layouts/application.html.haml:28: syntax error, unexpected kENSURE, expecting kEND app/views/layouts/application.html.haml:30: syntax error, unexpected $end, expecting kEND
虽然合乎逻辑
- if current_user = link_to 'Edit Profile', edit_user_path(current_user.id) = link_to 'Logout', logout_path - else = link_to 'Register', new_user_path = link_to 'Login', login_path - end
得到我:
You don't need to use "- end" in Haml. Use indentation instead: - if foo? %strong Foo! - else Not foo.
如何在HAML中使用此条件语句?
HAML是基于缩进的,解析器可能很棘手.更换
- if current_user = link_to 'Edit Profile', edit_user_path(current_user.id) = link_to 'Logout', logout_path - else = link_to 'Register', new_user_path = link_to 'Login', login_path
同
- if current_user = link_to 'Edit Profile', edit_user_path(current_user.id) = link_to 'Logout', logout_path - else = link_to 'Register', new_user_path = link_to 'Login', login_path
并尝试一下.注意如何在link_to行上更改缩进.