Skip to content

Commit c681ebe

Browse files
committed
refactor(payments): migrate to params.expect
- Wrap AJAX parameters in `payment` hash for params.expect compatibility - Flatten Stripe token fields (stripe_email, stripe_token_id) instead of nested `data` hash for clearer parameter names - Update controller to use params.expect with flat structure - Add type tampering test to verify 400 Bad Request behavior - Remove root-level parameters exception from CLAUDE.md Addresses review comment on #2476 about payments_controller still using params.permit. Now all controllers use params.expect consistently.
1 parent 2eaaebd commit c681ebe

7 files changed

Lines changed: 1610 additions & 16 deletions

File tree

CLAUDE.md

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -217,15 +217,6 @@ def index
217217
end
218218
```
219219

220-
### Root-Level Parameters
221-
222-
For parameters without a wrapper key (less common):
223-
224-
```ruby
225-
# Use params.permit for root-level params
226-
payment_params = params.permit(:amount, :name, data: [:email, :id])
227-
```
228-
229220
### Return Value
230221

231222
`params.expect(key: [...])` returns the **inner permitted parameters**, not wrapped:

0 commit comments

Comments
 (0)