在我的users_helper中,我有以下方法:
users_helper.rb
def status(user)
if user.active?
capture_haml do
haml_tag 'span.status' do
haml_concat "active"
end
end
else
capture_haml do
haml_tag 'span.status' do
haml_concat "inactive"
end
end
end
end
然后我有一个远程链接来更改用户的状态,因此如果状态发生变化,我想将span.status
替换为我status method
中users_helper
返回的结果
change_status.js.haml
- unless @user.errors.any?
plain:
$("span.status").html("#{status(@user)}");
但这似乎不起作用,当我用firebug检查错误时我有这个:
Inconsistent indentation: 1 tab used for indentation, but the rest of the document was indented using 2 spaces.
答案 0 :(得分:1)
在change_status.js.haml
中,您在整个文档中使用two
个空格缩进了代码,但在一个地方使用了tab
。
确保您的Haml文件中的缩进统一。 Don't mix-match
,在整个文档中使用two
个空格,或在整个文档中使用tab
。选择一个并坚持下去。
修改强>
另外,使用status
转义escape_javascript
方法的结果。