I made a comment on this before, but here's more of what I was getting at.

It is unclear just from looking at this test just why `:create` permits `:name` as a parameter. One has to follow the source of `controller_for_resource_with_strong_parameters` to see that it defines a `create` action. If it is important that `create` exists (since we make an assertion on it), it should be specified in this test, don't you think?

What do you think about:

``` ruby
controller_class = controller_that_supports_strong_parameters(method_name: :create) do
  params.require(:user).permit(:name)
end
```

This technique could be used for other tests too. Note that if you don't care about the method name in a test, you could conceivably leave it off:

``` ruby
controller_class = controller_that_supports_strong_parameters do
  params.require(:user).permit(:name)
end
```