Remember ids in forms (with association)

Hi there,

I’m building something and I think I’m not going the Rails way with
something. I have two models: ‘seasons’ and ‘episodes’.

Season model:

has_many :episodes, :dependent => :destroy

Episode model:

belongs_to :season

routes.rb

map.resources :seasons, :has_many => :episodes
map.resources :episodes

Episodes belong to seasons, so when I want to create a new episode, I
use this path: new_season_episode_path(season). I create a new episode
instance like this:

@season = Season.find(params[:season_id])
@episode = @season.episodes.new

Everything’s going fine, untill I want to save the whole thing. The
form redirects to ‘/episodes’ (no ID). But I have to save the
season_id in the episode.

@show = Show.find( season id? )
@episode = @show.episodes.create(params[:episode])

Anyone suggestions on how to save it and not use hidden fields in the
form (or do I have to?)?
I hope this is clear enough.

pl

Someday, I hope to know Rails well enough that answers to questions
like this just roll off the tip of my tongue (or, in this case, the
tips of my fingers as I type on the keyboard). For now, the best
answer I can give you is to reference the web page where I learned how
to use nested routes:

I suspect that you want to use @season.episodes.build instead of
@season.episodes.new, that everything might save correctly when you
save @season, and that you should not be redirecting to /episodes.
But I am nowhere close to being an expert, so I could be sending you
off in the wrong direction.

–wpd