【问题标题】:attr_accessible for Rails 4 dynamic attributes用于 Rails 4 动态属性的 attr_accessible
【发布时间】:2016-03-28 14:54:03
【问题描述】:

我正在使用 Rails 4 并想定义动态属性,例如:

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

现在是失败的说法

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

我相信这是因为 attr_accessible 在 Rails 4 中不再使用,那么我该如何实现呢? 谢谢。

【问题讨论】:

    标签: ruby-on-rails-4 dynamic-attributes


    【解决方案1】:

    试试这个:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-06
      相关资源
      最近更新 更多