Forum: Ruby on Rails Another CTI question

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
jasonlee9 (Guest)
on 2005-11-23 19:23
(Received via mailing list)
I've asked some CTI questions before and I have another one based on
my migration progress.

These are two condensed tables (the actuals being bigger):

| id          |
| title       |
| description |
| etc.....    |

| content_id   |
| location     |
| date_expired |
| etc.....     |

The above is legacy stuff and I can't really change it right now as
it's live; my goal is to get Rails to use the existing infrastructure
and then later make changes. My AR object is below:

class ContentJob < ActiveRecord::Base
   set_table_name    "content_job"
   set_primary_key   "content_id"
   has_one           :content, :dependent => true, :foreign_key => "id"

This works well. My tests allow me to find and update fine (working
on delete right now). I have noticed tho if I create a ContentJob
object via job = , assign some values and then try to
save it, I get an error saying that the primary / foreign key
(content_id) does not have a value (or something similar). Which is
fine as I understand why this is: a Content object does not exist yet.

So here's my question:

If AR will handle the find and update logic correctly for an
*existing* ContentJob/Content object but not for a new ContentJob
object, could I then just create a save method in ContentJob that
will be responsible for creating the dependent Content object and
then hooking it up to the current ContentJob object? Like so:


def save

While this is not idea since it involves a few extra lines of code,
it would be acceptable as I only have CTI on a few objects. I'm still
working on all the finer points of Rails and Ruby, so my save method
might not be completely correct and I'm assuming that when I have
created a new ContentJob object that I automagically get a new
Content object as well (not sure about this...). Anyway, does this
make sense? I have to make the CTI stuff work and STI is not in the
cards for me so hopefully the above approach will bridge this gap for


- jason
This topic is locked and can not be replied to.