emberjs/ember.js — pull request #4044 by jmonma (2014-01-02 19:27:17+00:00)
Title: Attribute bindings with a falsy value should always remove the attribute...

The documentation currently states that using a boolean will add or remove a given attribute. However, under the hood we're really dealing with attributes vs properties. This presents an issue if my bound value goes from being a string to a `false` bool, which will *not* remove the attribute as expected. However, setting a string value to `null` or `undefined` will remove the attribute.

Ultimately, setting a bound attr to false should *always* remove the attribute from the element, regardless of whether it's setting a property value.

Example:
controller:
```javascript
...
myAttr: 'something'
...
```
template:
```

```
output:
```html

```

then:
```javascript
controller.set('myAttr', false); //I want to remove this attribute
```
currently output is still:
```html

```
but it should be:
```html

```