2017-08-07 73 views
0

我正在通过将typed选项移动到新模型来使其动态化,正如您在使用常数使t_a, t_b, t_c列可访问*TYPED_DATA之前所见,但现在该模型已经迁移了,我不能再做了。有没有我错过的东西。Rails 3 - 带活动记录的图示attr_accessible

顺便说一句,当我用FactoryGirl重新运行我的规格时,失败。

class Rules < ActiveRecord::Base 
    #TYPED_DATA = %w{a b c}.map { |t| t.prepend('t_').to_sym } 

    attr_accessible :name, *Typed.prefixed 
end 

# typed.rb 
class Typed < ActiveRecord::Base 
    def self.prefixed 
    Typed.pluck(:name).map { |name| name.prepend('t_').to_sym } 
    end 
end 

动态显示这些属性的最佳选择是什么?

+0

你在测试中遇到什么错误? – saurabh

+0

该t_a不可用于批量分配。 – raul782

回答

0

虽然此解决方案不能解决使用ARP查询与splat技术问题。 它解决了使这些动态字段可访问的主要问题,特别是在大多数字段需要可访问的情况下,最好依靠您想保护的字段。

class Rules < ActiveRecord::Base 
    attr_protected :id, :created_at, :updated_at 
end