Forum: Ruby on Rails model.save not committing to DB with no errors.

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Joshua K. (Guest)
on 2008-11-19 04:07
(Received via mailing list)
I need some help to debug an issue that just came up, and I've never
seen before.  I have a model, let's call it Allocation, and it has
worked in the past (is working now on the live server).  It's fairly
simple with user_id, size, start (date), expire (date),
storage_billing_id, timestamps.  I started noticing in my development
branch a couple of days ago that it won't save.  As I investigate
further I see no errors when I attempt to save it just fails and
return nil.

in the console I tried:

>> a = Allocation.new
...
# ...assigned all the attributes manually

>> a.save
=> nil
>> a.valid?
=> true
>> a.frozen?
=> false
>> a.save!
nil
>> a.errors.full_messages
=> []

I've removed some columns and added a column to this model recently,
I've tampered with my os x rails installation recently, and I've done
a lot of development around this class recently, but which of these
issues is most likely the cause I don't know.  Any help debugging this
would be GREATLY appreciated.

Thanks,
j
Philip H. (Guest)
on 2008-11-19 05:49
(Received via mailing list)
On Nov 18, 2008, at 6:04 PM, Joshua K. wrote:

> in the console I tried:
> => false
>>> a.save!
> nil
>>> a.errors.full_messages
> => []
>
> I've removed some columns and added a column to this model recently,
> I've tampered with my os x rails installation recently, and I've done
> a lot of development around this class recently, but which of these
> issues is most likely the cause I don't know.  Any help debugging this
> would be GREATLY appreciated.

Any before_filters in place on this model?  What does your
development.log say?  Do you see the INSERT query?
Joshua K. (Guest)
on 2008-11-19 08:28
(Received via mailing list)
On Nov 18, 7:48 pm, Philip H. <removed_email_address@domain.invalid> wrote:

>
> Any before_filters in place on this model?  What does your  
> development.log say?  Do you see the INSERT query?

no before_filters (no filters of any kind).  If I follow the
development.log while I'm doing an interactive console like above I
can see there is no output at all to the log when I do a save.  If I
immediately try a different model and save it, no problem, and I see
some output in the dev log.  It is very bazar.  I keep thinking I must
be using a keyword in the model somewhere, but I can't find any. Maybe
I've broken my installation.

j
Frederick C. (Guest)
on 2008-11-19 08:35
(Received via mailing list)
On Nov 19, 6:28 am, Joshua K. <removed_email_address@domain.invalid> wrote:
> immediately try a different model and save it, no problem, and I see
> some output in the dev log.  It is very bazar.  I keep thinking I must
> be using a keyword in the model somewhere, but I can't find any. Maybe
> I've broken my installation.
>
Well if there's something odd with that model you'll have to show it
before people can tell you what's wrong. Tip of the day: methods/
associations called transaction are a bad thing.

Fred
Joshua K. (Guest)
on 2008-11-19 08:46
(Received via mailing list)
On Nov 18, 10:34 pm, Frederick C. <removed_email_address@domain.invalid>
wrote:
> > be using a keyword in the model somewhere, but I can't find any. Maybe
> > I've broken my installation.
>
> Well if there's something odd with that model you'll have to show it
> before people can tell you what's wrong. Tip of the day: methods/
> associations called transaction are a bad thing.
>
> Fred
>

Haha how did you know?  I had just found that out and came back here
to post the solution.  It turns out I have a model for financial
transactions called.... you guessed it 'transaction'.  Seemed to be
working fine everywhere for a while then I created a polymeric
association to the allocation model and I guess this line in the
allocation model screwed it up.

class Allocation < ActiveRecord::Base
has_one :transaction, :as => :item
...

Thanks,
j
Joshua K. (Guest)
on 2008-11-19 08:51
(Received via mailing list)
On Nov 18, 10:34 pm, Frederick C. <removed_email_address@domain.invalid>
wrote:
> > be using a keyword in the model somewhere, but I can't find any. Maybe
> > I've broken my installation.
>
> Well if there's something odd with that model you'll have to show it
> before people can tell you what's wrong. Tip of the day: methods/
> associations called transaction are a bad thing.
>
> Fred


Haha, how did you know?  I just figured it out and was on my way back
here to post the solution.  I have a model for financial transactions
called.... you guess it 'transaction'.  It's been working fine for
weeks, but I just added a polymorphic association from it to my
Allocation model.  It appears this was the culprit:

class Allocation < ActiveRecord::Base
  has_one :transaction, :as => :item

Thank you very much!!

j
This topic is locked and can not be replied to.