has_one and new

Hi Folks,

I'm totally confused - I have 3 tables

search, pickup_search and dropoff_search

pickup_search and dropoff_search are nearly identical and each contain the search_id key.

My Models are as follows.

class Search < ActiveRecord::Base   has_one :pickup_search   has_one :dropoff_search end

class PickupSearch < ActiveRecord::Base   belongs_to :searches end

class DropoffSearch < ActiveRecord::Base   belongs_to :searches end

So what I want to do is create a new search, then a new pickup_search and a new dropoff_search.

I tried in my controllers new method to do

  def new     @search = Search.new     @search.pickup_search.new     @search.dropoff_search.new   end

however it throws the error when creating a new pickup and dropoff search

NoMethodError (You have a nil object when you didn't expect it!

However if I change the relationship in search to has_many it works!!!

However for any given 'search' there will only be one pickup_search and dropoff_Search so it shouldn't be a has_many relationship... or am I modelling this incorrectly

(FYI the pickup_search and dropoff_date contains date/destination info)

Any help much appreciated!

Peter