class HogeForm
include ActiveModel::Model
attr_accessor :fuga_id
validates :fuga_id, presence: true
validate :fuga_is_present, if: :fuga_id
private
def fuga
@fuga = Fuga.find(fuga_id)
end
def fuga_is_present
return ture if fuga
# バリデーションエラー処理
end
end
上記のようなClassにおけるvalidateメソッドの命名についてです。
validate :fuga_is_present を
validate that fuga is present
だと解釈する場合自然なのですが、メソッド名単体で見るとvalidateメソッドであることがわかりにくく感じます。
メソッド名をfuga_must_be_presentとすると、メソッド名単体ではvalidateメソッドだとわかりやすいですが validate :fuga_must_be_present
となり、さっきと同様の英文に解釈すると下記の通り意味が通らなくなります。
validate that fuga must be present