2016-03-28 26 views
0

Ich Rails 4 und wollen definieren dynamische Attribute, mit so etwas wie:attr_accessible für Rails 4 dynamische Attribute

(0..6).each do |i| 
    attr_accessible "attr-#{i}" 

jetzt es failling sagen

NoMethodError: undefined method `attr_accessible' for #<Class:0x007fdeb8911380> 

Ich glaube, das liegt daran, dass attr_accessible wird in Rails 4 nicht mehr verwendet. Wie kann ich das erreichen? Danke.

Antwort

0

Versuchen Sie folgendes:

dynamic_attributes = {test: 1, test2: 2, test3: 3} 
#object could be self depending on the context 
object.instance_eval(class << self; self; end) }.class_eval do 
    dynamic_attributes.each do |attr, value| 
    define_method(attr){ value } 
    define_method(attr){|new_value| dynamic_attributes[attr] = new_value } 
    end 
end 
+0

genau das, was war auf der Suche! Danke für die Zeit. – WhomWhomWhom

Verwandte Themen