belongs_to and has_many .new issues..

I am new to rails and I been using asociations for 1-2 weeks with no issues so far, but this time I need to use them from the start.. all the examples online are with "already" data in the data base to create a new record with the associations working.. in my case obviosly if you have no data at all only the scheme and I want to fill in the form and create a new record that will write to the both models associated, but I am trying all possible ways in the console before I even bother with the new.html.erb view and im banging my head. any help will be apreciated here is the info:

class Calendario < ActiveRecord::Base         has_many :tareas end class Tarea < ActiveRecord::Base         belongs_to :calendario end

ActiveRecord::Schema.define(:version => 20080810072747) do

  create_table "calendarios", :force => true do |t|     t.date "fecha"     t.datetime "created_at"     t.datetime "updated_at"     t.time "hora"   end

  create_table "tareas", :force => true do |t|     t.integer "calendario_id"     t.string "titulo"     t.text "cuerpo"     t.datetime "created_at"     t.datetime "updated_at"   end

end

in the console I am trying:

tarea.calendario = Calendario.create tarea.calendario = Calendario.new then the reverse just in case calendario.tarea = Tarea.new calendario.tarea = Tarea.create I as well have try the mothods the association supposed to create with no luck like create_tarea or create_calendario

I know I am doing something very wrong but since I am a noob the mix of info from my book and google search is confusing me even more with alike situation but none just like mine.

in the console I am trying:

tarea.calendario = Calendario.create tarea.calendario = Calendario.new

That should work - assuming tarea is an existing instance of Tarea.

then the reverse just in case calendario.tarea = Tarea.new calendario.tarea = Tarea.create

That would have to be calendatio.tareas (the association name is tareas since you wrote has_many :tareas, so you always use that) On top of that it's a collection (because it's a has_many) and so it looks like an array, so you should be doing things like

calendario.tareas << Tarea.new calendario.tareas = [Tarea.create] calendario.tareas.create

(again assuming calendarion is an existing instance of Calendario).

I as well have try the mothods the association supposed to create with no luck like create_tarea or create_calendario

The singular associations give you tarea.create_calendario. For the collection ones you can say calendario.tareas.create - there's no create_tarea method.

It would help if you said what had happened when you tried the various things you listed.

Fred