Re: possible to stub params hash?

Hi,

I tried to stub the params method of the Controller because
I got the error " You have a nil object when you didn’t expect it!"
for the access to params[:pl_planning][“item_model_version_id”]
in the update action.

I thought, that the stubbing is not working because of the following
error:
“undefined method `scope=’ for
#Searchlogic::Cache::PlPlanningSearch:0x6aa14cc”.

But now I found out, that this error has another reason.
The put :update does not call the update action, it calls the index
action.
I will post another email for that problem to the user group.

Thanks
Andrea

Von: “Scott T.” [email protected]
Gesendet: 08.04.09 17:46:31
An: rspec-users [email protected]
Betreff: Re: [rspec-users] possible to stub params hash ?

On Apr 8, 2009, at 11:09 AM, Andrea J. wrote:

Hi,

I added one line in my controller to extend the params hash. But now I
get errors
in my controller spec.

Controller

def update
@pl_planning = PlPlanning.find(params[:id])

the item model version (select box) depends on other select boxes and

can be empty

then it is not in the params hash and the attribute would not be

updated and validated
→ params[:pl_planning][“item_model_version_id”] ||= “”

update planning attributes

@pl_planning.attributes = params[:pl_planning]

Controller Spec error:

You have a nil object when you didn’t expect it!
You might have expected an i nstance of ActiveRecord::Base.
The error occurred while evaluating nil.[]

What do I have to add in my spec for that ?

I tried:

params = {“pl_planning” => {}}
controller.stub!(:params).and_return(params)

But then I get the following error:

undefined method `scope=’ for
#Searchlogic::Cache::PlPlanningSearch:0x6aa14cc
Usually you are will fare better if you pass the params directly in:
get :foo, :param1 => “something”
Why are you stubbing params?
Scott

Thanks in advance
Andrea

Verschicken Sie SMS direkt vom Postfach aus - in alle deutschen und
viele
ausländische Netze zum gleichen Preis!

[WEB.DE SMS]


rspec-users mailing list
[email protected] [mailto:[email protected]]
http://rubyforge.org/mailman/listinfo/rspec-users
_______________________________________________rspec-users mailing
[email protected]://rubyforge.org/mailman/listinfo/rspec-users

GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://movieflat.web.de
[http://movieflat.web.de]