One to Many help

I'm new to Ruby on Rails. I have two tables defined as Table 1 - Leagues id primary key - autonum txtLeagueName

Table 2 - Divisions id primary key - autonum league_id txtDivisionName

I can add a League fine but when I try and add a division I get the error: "Couldn't find League without an ID"

I've defined the League table with 'has_many :divisions' I've defined the Division table with 'belongs_to :league'

Here's a snippet from my divison new.rhtml <form action="/division/new" method="post">    <input id="league_id" name="division[league_id]" value="<%= @league.id %>"/>   <p>     <b>Division Name</b><br/>     <input id="divisionName" name="division[divisionName]" size="30" type="text" value=""/>   </p>

You can see I have included league_id as an input field and have passed the value as a parameter in the url.(which is working fine, it shows up in the input field). When I click on the save button, that's when I get the error above. I'm not sure what it's trying to tell me let alone what to do to fix it.

Is your league_id defined as a foreign key?

It seems like it's complaining about not finding the league - are you trying to find the league in your new method of your controller? I would assume in the new method you would have something like

@league=League.find(params[:league_id])

What file is the error referring to, the form or the controller?

I do have league_id setup as a foreign key.

It's complaining about my division controller. I do have what you mention regarding the league parm. Here is a copy of the controller.

class DivisionController < ActionController::Base     layout "division-layout"     scaffold :division

  before_filter :initLeague

  def index     list     render_action 'list'   end

  def new     @division = @league.divisions.new   end

  def list     @divisions = @league.divisions.find_all   end

  def show     @division = @league.divisions.find(params[:id])   end

  private   def initLeague     @league = League.find(params[:league_id])     @league_name = @league.txtLeagueName   end end