Ich habe eine Konstante Hash P_FACT_MAP
und ein Array von Schlüsseln des vorherigen Hash product_params[:product_factors]
. In P_FACT_MAP
werden alle Werte einem anderen Wert oder einem Array von Werten zugeordnet, die die Attributnamen der Tabelle ProductFactor
sind.Dynanmic spezifische Schienen Attribute aktualisieren
P_FACT_MAP = {
:x => %w[something]
:y => %w[something2, something]
:z => %w[something 3, something1]
...
...
}
Ich versuche, die dynamischen Attributwerte zu aktualisieren, indem Sie:
ProductFactor.v << product_params[:p_id]
Der komplette Methodencode:
ProductFactor::P_FACT_MAP.collect.do |k, v|
puts "Value #{v}"
if product_params[:product_factors].include? k
v.each do |f|
@coach_recommendation_factor.send(f) << @coach.id
end
end
Aber es erkennt nicht den Attributnamen v und Ich erhalte den folgenden Fehler:
NoMethodError (undefined method `v' for #<Class:0x007f95de9b8180>)
Ist es nicht möglich, den Wert eines Attributs dynamisch zu aktualisieren, oder muss ich einen völlig anderen Ansatz wählen, um das zu erreichen?