Hello, I have a problem with a form that is driving me crazy


I have a 2 models Book and BookAuthor associated as below:

Code Ruby:
class BookAuthor < ActiveRecord::Base
 
  belongs_to :book
  ...
end

Code Ruby:
class Supplier < ActiveRecord::Base
  has_one :author, :class_name => "BookAuthor"
   ...
end

I'm would like to have a 3 steps process in order to submit a book: first book ID, second author ID, third publisher ID so I created these views

add_view
add_author
add_publisher

and the form on add_author is:

Code Ruby:
<% form_for :book_author do |form| %>
       <label for="book_author_first_name">first</label>
	<%= form.text_field :first_name%>
	<label for="book_author_last_name">last</label>
	<%= form.text_field :last_name,%>
        <%= submit_tag "next" %></div>
	<% end %>


and one controller as below:

Code Ruby:
...
def add_book
    if session[:book].nil? 
      @book = Book.new(params[:book])
      @book.status = 0
    else
      @book = session[:book] 
    end
 
    if request.post? and @book.valid?
      @updated_book = Book.new(params[:book])
      @updated_book.status = 0
 
      session[:book] = @updated_book
      redirect_to :action => "add_author"
    end
  end
 
  def add_author
     @book = session[:book]
 
     if @book.author.nil? 
 
       @author = BookAuthor.new(params[:bookAuthor])
       @book.author = @author
     else
       @author = @book.author
      end
 
 
    if request.post? and @author.valid?
      @updated_author = BookAuthor.new(params[:bookAuthor])
      @book.author = @updated_author
      session[:book] = @book
      redirect_to :action => "add_apublisher"
    end
  end

My issue is that when I submit add_author the submitted values are not inserted into @author (@author = BookAuthor.new(params[:bookAuthor])) so it is not valid.


What's wrong with my code ???


THANK YOU SO MUCH (really SO MUCH)