On Feb 6, 6:06 am, Dromga <
drom...@gmail.com> wrote:
> I have a users_controller_spec.rb with this:
>
> describe "POST create" do
> describe "with valid params" do
> let(:user) { create(:user) }
>
> it "assigns a newly created user as @user" do
> post :create, user: user
> assigns(:user).should be_a(User)
> assigns(:user).should be_persisted
> end
> end
>
> ...
> end
>
> Debuggin I found that the controller receive the next params
>
> (rdb:1) pp params{"user"=>"1", "controller"=>"users", "action"=>"create"}
>
> Why "user" => "1" ?, why is not passing the user object properly ?
You can't pass ruby object references over HTTP. I'm guessing
`user.to_param` returns '1'. ActionPack uses `to_param` in many places
when constructing URLs, or getting an HTTP representation of an
object.
Myron