I’m in the middle of building my first rails app. Basically, it’s a
table of bands and artists which is related to (has many) a table of
I’ve got a few questions to see if I’m starting things right or if there
is a better way (there probably is).
I’ve got an admin controller which controls the artist table. You can
add/edit/all the usual scaffold stuff.
I’ve also got a tour_date controller which controls adding tour dates.
Here is my db schema (ignoring the parts that don’t matter much):
create_table “artists”, :force => true do |t|
t.column “artist_name”, :string, :default => “”, :null => false
t.column “active”, :boolean, :default => false, :null => false
t.column “bio”, :text, :default => “”, :null => false
create_table “tour_dates”, :force => true do |t|
t.column “artist_id”, :integer, :default => 0, :null => false
t.column “date”, :datetime, :null => false
add_index “tour_dates”, [“artist_id”], :name => “fk_artist”
In my ‘artist’ model I’ve got has_many :tour_dates
In my ‘tour_date’ model I’ve got belongs_to :artist
I’m not seeing a benefit of that yet, maybe someone could explain it.
I’ve set up a route:
map.connect ‘admin/tour/:id’, :controller => ‘tour_dates’, :action =>
‘list’, :id => nil
First, is this the best way to manage the tour dates from within the
‘admin’ area, or does my foreign key make anything more automatic?
Secondly, what’s the best way to show the artist_name in say a tour_date
view which only knows the artist_id?
And finally, in admin type views is it a bad idea to hard code things
like <%=h artist.artist_name %>? Seems OK to me, but it may not be the
Thanks, keep in mind, it’s my first try, I know these questions are
dumb. I really do love it so far.