Rails でモデル内の必須フィールドのリストを取得するにはどうすればよいですか?
概要
私は Ruby on Rails を使用しており、さまざまな必須フィールドを持つモデルがあります。必要なフィールドのみのリストを取得する方法はありますか? 必要なフィールドだけが必要なため、ModelName.validators が機能するとは思えません。 ModelName.column_names も試しましたが、すべてのフィールドが表示されます。
解決策
ModelName.validators は、返されたリストを存在バリデーターに対してフィルターすると機能するようです。
ModelName.
validators.
grep(ActiveRecord::Validations::PresenceValidator). # only `presence`
flat_map(&:attributes) # only their attribute names