I use habtm and a mulitline select to select which publications a
journalist works on.


class Journalist < ActiveRecord::Base
   has_and_belongs_to_many :publications
end

AND

class Publication < ActiveRecord::Base
   has_and_belongs_to_many :journalists
end

When I make changes in the select, only the first selected item gets a
record in the habtm table:

>From the log:
Parameters: {"commit"=>"Update Journalist",
"journalist"=>{"publication_ids"=>["3,5,4,1"], },
"authenticity_token"=>"a7Lws3tWNS+FczclJEYuu4EusVINUsuy6rwLVagMdLk=",
"utf8"=>"✓", "id"=>"7"}

Then some rows down(!?):
INSERT INTO "journalists_publications" ("publication_id",
"journalist_id") VALUES (3, 7)


So, what happened to (5,7), (4,7) and (1,7)????




Migration:
    def self.up
      create_table :journalists_publications, :id => false do |t|
                t.references :journalist, :publication
        end
        add_index :journalists_publications, :journalist_id
        add_index :journalists_publications, :publication_id
    end

Form:
<%= form_for(@publication, :remote => true) do |f| %>
   <%= f.collection_select(:journalist_ids,
Journalist.limit(20).order('id'), :id, :name, {}, {:multiple => true})
%>
<% end %>

Controller:
@journalist = Journalist.find(params[:id])
if @journalist.update_attributes(params[:journalist])
...

Does anyone have a clue?
Rails 3.0.5

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to