2017-08-07 39 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