Create without triggering callbacks?

Is there a way to do ModelName.create without triggering the various
callbacks that would normally be triggered? I'm in an rspec test and
want to save a model without worrying about the callback stuff.

thanks
max

Marnen Laibow-Koser wrote:

Max Williams wrote:

Is there a way to do ModelName.create without triggering the various
callbacks that would normally be triggered?

Yes; check the AR docs. I believe save is the function you're looking
for

Thanks for your advice. I have access to the AR docs, but doing new
then save triggers the same callbacks as calling create.

I'm in an rspec test and
want to save a model without worrying about the callback stuff.

Why? If you're testing your app, you should have the callbacks work
just like in the real thing.

But i'm not testing the model in question, it's just an associated model
for the model i am testing. The callbacks are not relevant to these
tests at all.

If you're just trying to cobble together some test data, consider using
factories, probably with Machinist.

Yeah, i know, i have used those before, it just seems like overkill for
this case.

Max Williams wrote:
[...]

for

Thanks for your advice. I have access to the AR docs, but doing new
then save triggers the same callbacks as calling create.

Then maybe it's something else, or maybe I'm thinking of just
bypassing validatons...sorry to have steered you wrong!

I'm in an rspec test and
want to save a model without worrying about the callback stuff.

Why? If you're testing your app, you should have the callbacks work
just like in the real thing.

But i'm not testing the model in question, it's just an associated model
for the model i am testing. The callbacks are not relevant to these
tests at all.

That makes some sense.

If you're just trying to cobble together some test data, consider using
factories, probably with Machinist.

Yeah, i know, i have used those before, it just seems like overkill for
this case.

It's not overkill. It's the exact situation for which factories are
the perfect solution. If you've got your blueprints set up right, all
you need is one more .make call.

Best,

This plugin helps avoid call backs:
http://github.com/cjbottaro/without_callbacks/tree/master

Andrew Timberlake
http://ramblingsonrails.com

http://MyMvelope.com - The SIMPLE way to manage your savings