I am a bit confused about managing the relationship between two of my
tables:
I have developed a script using scRUBYt that scrapes data from a website
and dumps the following four fields into my Shows table:
class CreateShows
create table :shows do |t|
t.string :date
t.string :venue
t.string :info
t.string :comics
The second table I created is called Theatres:
class CreateTheatres
create table :theatres do |t|
t.string :name
t.string :address
t.string :website_url
t.string :location
The :venue field in the Shows table corresponds to the :name field in
the Theatres table. How do I set up a relationship whereby Theatres have
many shows, while defining this (:venue - :name) relationship as the
link?
I have tried the :set_primary_key & :foreign_key => ... methods without
success.
Does the primary or foreign key always have to be an integer?
I am a bit confused about managing the relationship between two of my
tables:
I have developed a script using scRUBYt that scrapes data from a
website
and dumps the following four fields into my Shows table:
class CreateShows
create table :shows do |t|
t.string :date
t.string :venue
t.string :info
t.string :comics
The second table I created is called Theatres:
class CreateTheatres
create table :theatres do |t|
t.string :name
t.string :address
t.string :website_url
t.string :location
The :venue field in the Shows table corresponds to the :name field in
the Theatres table. How do I set up a relationship whereby Theatres
have
many shows, while defining this (:venue - :name) relationship as the
link?
I have tried the :set_primary_key & :foreign_key => ... methods
without
success.
Does the primary or foreign key always have to be an integer?
A belongs_to relationship has to go through the primary key of the
other model and setting the primary key of theatres to be the name
would be a bad thing (eg what if two towns had a theatre by the same
name).
The rails way would be to do away with the venue column and have a
theatre_id one instead