Jeden widok aktualizcja dwoch modeli

Witam.

Mam tak sytuację.

modele:

[code=“ruby”]class Employee < ActiveRecord::Base
has_many :employee_departments
has_many :departments, :through => :employee_departments

def employee_department_attributes=(employee_department_attributes)
		employee_departments.build(attributes)
end

end
class EmployeeDepartment < ActiveRecord::Base
belongs_to :employee
belongs_to :department
end
class Department < ActiveRecord::Base
has_many :employee_departments
has_many :employees, :through => :employee_departments
end[/code]
Kontroler: employees, sądzę ze tu przy create jest problem, tylo nie wiem jaki.

[code=“ruby”] def new
@employee = Employee.new
@employee.employee_departments.build

	respond_to do |format|
  format.html
  format.xml  { render :xml => @employee }
end

end

def create
@employee = Employee.new(params[:employee])

respond_to do |format|
  if @employee.save
    flash[:notice] = 'Employee was successfully created.'
    format.html { redirect_to(@employee) }
    format.xml  { render :xml => @employee, :status => :created, :location => @employee }
  else
    format.html { render :action => "new" }
    format.xml  { render :xml => @employee.errors, :status => :unprocessable_entity }
  end
end

end[/code]
Widok: new

[code=“ruby”]<% form_for(@employee) do |f| %>
<%= f.error_messages %>

<%= f.label :surname %>
<%= f.text_field :surname %>

<%= f.label :forename %>
<%= f.text_field :forename %>

<%= f.label :employment_from %>
<%= f.date_select :employment_from, :order => [:day, :month, :year] %>

<%= f.label :employment_to %>
<%= f.date_select :employment_to, :order => [:day, :month, :year] %>

********* <% for employee_department in @employee.employee_departments %> <% fields_for "employee[employee_department_attributes]", employee_department do |employee_department_form| %>

<%= employee_department_form.label :from %>
<%= employee_department_form.date_select :from %>

<% end %>
--

<% end %>

<%= f.submit "Create" %>

<% end %>[/code] Przy dodawaniu nowego pracownika dostję błąd: [b]undefined method `forename=' for #[/b]

{“commit”=>“Create”,
“employee”=>{“forename”=>“Jan”,
“employment_from(2i)”=>“9”,
“employment_from(3i)”=>“19”,
“employee_department_attributes”=>{“from(1i)”=>“2008”,
“from(2i)”=>“9”,
“from(3i)”=>“19”},
“employment_to(1i)”=>“2008”,
“employment_to(2i)”=>“9”,
“employment_to(3i)”=>“19”,
“surname”=>“Kowalski”,
“employment_from(1i)”=>“2008”},
“authenticity_token”=>“9f967255d101f054e9de7e71ef5ca5336d2c56b4”}

Gdzie popełniłem błąd.

Przejżałem juz railscasty 73,74,75 ale tam jest kilka zadan do jednego projektu dodawanych. Zrobilem i dzialalo. Ja chcę dodac do pracownika jedna date w innym modelu. Są tez inne dane ale chyba nie ma to znaczenia. Bo nawet jedna data nie dziala.
Jak usune dodawanie tej daty i zostanie samo imie i nazwisko to jest ok.
Znalazlem tez podobne watki: http://railsforum.com/viewtopic.php?id=15562 i robilem wg wskazowe i nie dziala
Za wskazówki i rady dzieki.

Pozdrawiam

def employee_department_attributes=(employee_department_attributes) employee_departments.build(attributes) end
Parametr do tej metody nazywa się u Ciebie employee_department_attributes, a w metodzie używasz attributes.

Wielkie dzieki za wskazowke, to bylo to.