这是Eco,问题是它应该为部分模型(骨干)添加部分按钮,但是如果没有工作则可以使用。变量是可访问的,但owner.id是字符串而current_user.id是一个数字
<% if @owner?.id is current_user.id: %>
<div class="info-add">
<button class="button secondary tiny radius">
<i class="fi-plus"></i>
Add
</button>
</div>
<% end %>
答案 0 :(得分:1)
Eco使用CoffeeScript作为模板语言,在CoffeeScript中,is
和==
在JavaScript版本中成为===
。 JavaScript的strict equality operator (===
)不执行==
将执行的类型转换,即使'6' === 6
为真,'6' == 6
也是假的。
你这么说:
owner.id
a是字符串,current_user.id
是数字
所以@owner.id is current_user.id
总是假的。
如果您的客户端代码生成id
字符串,那么它就会被破坏,您应该修复它。如果您的服务器以字符串形式发送@owner.id
,那么您的服务器已损坏,您应修复服务器以发送正确的JSON;如果您无法修复服务器代码,那么您可以在模型中添加parse
方法来为您修复它:
parse: function(response) {
if(response.id)
response.id = +response.id // or parseInt(response.id, 10) if you prefer
return response;
}