Miguel Rodriguez
Miguel Rodriguez

Reputation: 45

Rails ActiveAdmin Unpermitted parameterin has_many through relation

I have a has_may through relation

class Isicclase < ActiveRecord::Base
  belongs_to :isic_grupo
end

class Configuracion < ActiveRecord::Base
   has_many :configuracion_isicclases
   has_many :isicclases, through: :configuracion_isicclases
   accepts_nested_attributes_for :configuracion_isicclases, :allow_destroy => true
end

class ConfiguracionIsicclase < ActiveRecord::Base
  belongs_to :configuracion
  belongs_to :isicclase
end

and a ActiveAdmin register for the second model (Configuracion)

ActiveAdmin.register Configuracion do
  config.filters = false
  menu parent: '☰ Entorno', label: 'Configuración', priority: 1

  actions :all, except: [:destroy]
 permit_params :comercial, :social, :polcorreo, :personal, :bienvenida, :localizacion, :galleta, :slogan1, :slogan2, :logo, :logo_file_name, :privacidad, :aviso_legal, :locale, :proteccion_de_datos, configuracion_isicclases_attibutes: [:id, :configuracion_id, :isicclase_id, :_destroy] 
   form do |f|
      f.actions
       f.semantic_errors *f.object.errors.keys
      f.inputs "Configuración" do
         tabs do
            tab 'Empresa' do
                  f.has_many :configuracion_isicclases, heading: false,  :allow_destroy => true do |deg|
                    # deg.input :isicclase
                    deg.input :isicclase, label: 'Código ISIC', :collection => Isicclase.all.map{|x|[x.codigo + "-" + x.titulo,x.id]}, include_blank: false 
                  end

                  f.input :comercial
                  f.input :social
                  f.input :polcorreo
                  f.input :slogan1
                  f.input :slogan2
                  f.input :logo, :as => :file, :hint => image_tag(f.object.logo.url(:icon)) 
            end 
.......

end

When I try create a new register configuracion_isicclases through configuracion I obtain a unpermitted paremeter error in the log file

Unpermitted parameter: configuracion_isicclases_attributes

The parameters in the log file are

Parameters: configuracion"=>{"configuracion_isicclases_attributes"=>{"0"=>{"isicclase_id"=>"417", "_destroy"=>"0", "id"=>"1"}, "1"=>{"isicclase_id"=>"3", "_destroy"=>"0", "id"=>"2"}, "2"=>{"isicclase_id"=>"1"}}, "comercial"=>"Costiña",......}

Upvotes: 0

Views: 127

Answers (1)

Vishal
Vishal

Reputation: 7361

Please try this solution please correct it if there is any sigular or plural issue

in you configuracions.rb

permit_params :comercial, :social, :polcorreo, :personal, :bienvenida, :localizacion, :galleta, :slogan1, :slogan2, :logo, :logo_file_name, :privacidad, :aviso_legal, :locale, :proteccion_de_datos, :isicclas_ids => [] 

f.input :isicclases, as: :select, :collection => Isicclase.all.map{|x|[x.codigo + "-" + x.titulo,x.id]}, include_blank: false 

Upvotes: 1

Related Questions