2017-08-07 14 views
0

t_a, t_b, t_c*TYPED_DATAでアクセス可能にする定数を使用する前にわかるように、typedオプションを動的に新しいモデルに移動することで、オプションを動的にしていますが、私はもはやそれを行うことはできません。私は行方不明のものがありますか?Rails 3 - スプラットattr_accessible with Active Record

ところで、私は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

このソリューションでは、ARクエリをsplatで使用する際の技術的な問題は解決されませんが、 これは、動的フィールドにアクセスできるようにする主な問題を解決します。特に、大部分のフィールドにアクセスする必要がある場合は、保護したいフィールドに頼る方がよいでしょう。

class Rules < ActiveRecord::Base 
    attr_protected :id, :created_at, :updated_at 
end 
関連する問題