ruby on rails - modulos - No se pueden asignar en masa atributos protegidos
modulo ruby (4)
Actualización del formato de código para una mejor visualización.
Gente
He estado mirando esto por algún tiempo pero no entiendo qué podría estar arruinando aquí. Estoy usando Devise.
class User < ActiveRecord::Base
has_many :addresses
accepts_nested_attributes_for :addresses
# Other stuff here
end
class Address < ActiveRecord::Base
belongs_to :user
validates_presence_of :zip #:street_address1,
fin
-------------------- inicio de salida del registro --------------------------- ---
Comenzó POST "/ users" para 127.0.0.1 a 2011-05-28 11:43:27 -0700 Procesando por RegistrationsController # crear como parámetros HTML: {"utf8" => "√", "authenticity_token" => "CEmdqlsmdYa6Jq0iIf5KAxxISsUCREIrFXXkkk "," user "=> {" email "=>" [email protected] "," password "=>" [FILT ERED] "," address_attributes "=> {" 0 "=> {" street_address1 "=> "234 Pitkin Ct.", "Zip" => "12456"}}}, "commit" => "Registrarse"} ADVERTENCIA: No se pueden asignar en masa atributos protegidos: Address_attributes SQL (0.0ms) BEGIN SQL (164.0 ms) MOSTRAR TABLAS
Carga de usuario (0.0ms) SELECCIONEusers
.id
users
DÓNDE (users
.-------------------- final de salida de registro --------------------------- ---
El zip está presente en los datos publicados y los datos publicados parecen tener el formato correcto. En el formulario de la página web recibo el error de que "Las direcciones zip no pueden estar en blanco". He investigado las causas de la advertencia "No se pueden asignar atributos protegidos de forma masiva", pero no he encontrado nada que me ayude.
Gracias por tus pensamientos y punteros.
-S
Dentro de SpecificModel
( appfolder / app / model / specific_model.rb )
Intenta usar
attr_accessible :addresses_attributes, :another_attribute_to_make_mass_assignable, :another_attribute, etc.
Echa un vistazo aquí y aprende :)
http://railscasts.com/episodes/26-hackers-love-mass-assignment
Editar:
El hecho de accepts_nested_attributes_for
en Modelo de usuario le permite enviar los datos al modelo de Dirección.
Luego, en el modelo de dirección, debe establecer el attr_accessible
solicitado
Hoy en día (abril de 2013) debe comenzar a usar https://github.com/rails/strong_parameters
Simplemente incluya el campo de datos en el modelo como se menciona a continuación
attr_accessible :addresses_attributes