no se puede convertir el símbolo en cadena

Tengo el siguiente código en Ruby, tome directamente de la guía Primeros pasos con Rails

def create @post = Post.new(post_params) @post.save redirect_to @post end private def post_params params.require(:post).permit(:title, :text) end 

Cuando ejecuto el anterior Create me sale el siguiente error.

no se puede convertir el símbolo en una cadena

Parece que estás tratando de usar patwigters fuertes . Obtiene que este error no puede convertir el símbolo en una cadena porque no ha configurado los parámetros fuertes. Por lo tanto, de forma predeterminada, no puede usar require en params con símbolos.

Configure los parámetros fuertes de la siguiente manera:

 1.) Add gem 'strong_parameters' to your gemfile and bundle it. 2.) Include Restrictions to you model as follows. include ActiveModel::ForbiddenAttributesProtection to your model. 3.) Disable white listing in application confiuration(config/application.rb) config.active_record.whitelist_attributes = false 

Consulte la documentación para obtener más detalles sobre la configuración.

Ahora su código debería funcionar.

Si alguien está usando Mongoid, puede solucionar este problema agregando lo siguiente a un inicializador:

 Mongoid::Document.send(:include, ActiveModel::ForbiddenAttributesProtection) 

Agregue gem ‘strong_parameters’ al archivo de gem y ejecute> bundle install en el símbolo del sistema. Actualice el navegador.