# ember/template-no-action
💼 This rule is enabled in the 📋 `template-lint-migration` [config](https://github.com/ember-cli/eslint-plugin-ember#-configurations).
Disallows the use of `{{action}}` helper.
The `{{action}}` helper is deprecated in favor of the `{{on}}` modifier and `{{fn}}` helper, which provide better performance and clearer intent.
## Examples
Examples of **incorrect** code for this rule:
```gjs
```
```gjs
{{action "doSomething"}}
```
Examples of **correct** code for this rule:
```gjs
```
```gjs
```
```gjs
{{this.action}}
```
```gjs
import action from './my-action-helper';
{{action this.handleClick}}
```
```gjs
{{#each items as |action|}}
{{/each}}
```
## Strict-mode behavior
`action` is an ambient strict-mode keyword in Ember (registered in `STRICT_MODE_KEYWORDS`), so `{{action this.x}}` works in `.gjs`/`.gts` templates without an explicit import. The rule still flags those uses to discourage the deprecated keyword — but skips reports when `action` resolves to a JS-scope binding (an import or local declaration) or a template block param.
## Migration
- Replace `(action "methodName")` with method references or `(fn this.methodName)`
- Replace `