Estoy intentando crear una aplicación de rieles de libreta de direcciones extremadamente simple. Sin embargo, recibo este error "No se puede asignar en masa los atributos protegidos: city_id". ¿Cómo puedo arreglar esto? Por favor, siéntase libre de agregar cualquier comentario/sugerencia a su respuesta con respecto al código de rieles a continuación. Gracias.Error de rieles: no se pueden asignar en masa los atributos protegidos
Cómo creé el proyecto (desde cero):
rails new demo
rails generate model City name:string
rails generate scaffold User name:string city:references
rake db:migrate
db/seeds.db:
City.create(name: "City1")
City.create(name: "City2")
City.create(name: "City3")
rake db: semillas
cambió esta línea <%= f.text_field :city %>
app/views/users/_form.html.erb
-<%= f.collection_select :city_id, City.all, :id, :name %>
changed user.rb
línea autogenerada belongs_to :city
a has_one :city
.
añade belongs_to :city
-city.rb
P.S: Estoy usando Rails 3.2.3 y 1.9.3 de Ruby.
Ajuste 'whitelist_attributes' a verdadero es el nuevo valor predeterminado - que requieren el uso de attr_accessible explícitamente. Si desea volver al comportamiento anterior, debe establecer 'whitelist_attributes' en falso. –
cómo agregar attr_accessible si agrego un modelo usando 'ActiveRecord :: Schema.define' en schema.rb – pahnin
No haga esto, frank blizzard. Consulte https://github.com/rails/rails/issues/5228 para obtener más información. –