¿Cómo aplicar etiquetas con los actos como etiqueta usando las casillas de verificación?

Me gustaría asignar dos "tipos" diferentes de etiquetas (categorías de sector y etiquetado libre) a un modelo de empresa utilizandoActúa como etiquetable. NB: ¡Soy nuevo en RoR!

Esto es fácil de hacer si solo usa campos de entrada de texto estándar, pero me gustaría usar casillas de verificación en un tipo (una etiqueta de categoría de sector fija que está predefinida), y luego permitir al usuario agregar etiquetas separadas por comas en un campo de entrada .

He jugado con este problema de varias maneras, ... una inspirada enesta pregunta... pero no puedo hacer que funcione

Esto es lo que tengo hasta ahora:

# models/company.rb
class Company ...
  acts_as_taggable_on :tags, :sectors

  has_many :taggings,
           :as => :taggable,
           :include => :tag,
           :class_name => "ActsAsTaggableOn::Tagging",
           :conditions => { :taggable_type => "Company" }

  has_many :sector_tags, 
           :through => :taggings, 
           :source => :tag,
           :class_name => "ActsAsTaggableOn::Tag",
           :conditions => {:context => "sectors"}
end

en la forma (usando simple_form gem) tengo ...

# views/companies/_form.html.haml
= simple_form_for @company do |f|
  = f.input :name
  = f.association :sector_tags, :as => :check_boxes, :hint => "Please click all that apply"
  = f.input :tag_list
  = f.button :submit, "Add company"

Y en el controlador de mi compañía tengo

# controllers/companies_controller.rb
def create
  @company = current_user.companies.build(params[:company])
  if @company.save
  ...
end

Pero esto causa un error de validación:

ActiveRecord::RecordInvalid in CompaniesController#create
Validation failed: Context can't be blank

¿Alguien puede insinuar cómo puedo hacer esto bien?

Una pregunta relacionada es si esta es una buena manera de hacerlo. ¿Sería mejor usar un modelo de Categoría para asignar etiquetas de sector a través de un modelo conjunto?

¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta