1. ホーム
  2. ruby-on-rails

ActiveRecordです。大量割り当て可能なモデルの全属性を取得する方法は?

2023-08-07 08:49:50

質問

大量に割り当てることができるすべての属性名のリストが欲しいです。私は、大量に割り当てることができない入力フィールドをデフォルトで追加しないカスタムフォームビルダーにこれが必要です。

例えば、次のようなモデルがあるとします。

class Post < ActiveRecord::Base
  attr_protected :account

  belongs_to :author

  validates_presence_of :title, :author
end

結果として [:author, :title] .

どのように解決するのですか?

Post.accessible_attributesでattr_accessibleを明示的に定義すれば、カバーできるはずです。

それを除けば、このようなことをするのは不格好ですが、うまくいきます。

Post.new.attributes.keys - Post.protected_attributes.to_a