habtm не является популярным выбором в наши дни, лучше использовать has_many: через, с надлежащей моделью соединения между ними.Это даст вам метод Company # origin_ids =, в который вы можете передать массив идентификаторов происхождения из вашей формы, чтобы установить все связанные источники для @company.Например,
<% current_origin_ids = @company.origin_ids %>
<% form_for @company do |f| %>
<label>Name:<%= f.text_field :name %></label>
<% Origin.all.each do |origin| %>
<label><%= origin.name %>
<%= check_box_tag "company[origin_ids][]", origin.id, current_origin_ids.include?(origin.id) %>
</label>
<% end %>
<% end %>
Кроме того, использование правильной модели соединения с соответствующим контроллером позволяет легко добавлять / удалять источники с помощью AJAX, используя вызовы создания / удаления для контроллера модели соединения.