Pricing と Pricing Details の 2 つのモデルがあります。価格には has_many の価格設定の詳細があります。form_for を使用するフォームがあるので、価格設定オブジェクトと詳細をすべて同じフォームで作成し、すべてを 1 回の保存呼び出しで保存できます。
すべてのコードは期待どおりに機能しますが、問題は、pricing_details モデルの検証済みフィールドを省略した場合の検証メッセージが次のようになることです。
「価格の詳細は年間価格を空白にすることはできません」
私の検証は次のとおりです。
def validate_cost
field_name = PriceType.find(self.price_type_id).name
if self.cost.blank?
self.errors.add :cost, field_name + " cannot be blank"
end
end
私が欲しいのは単純です:「年間価格を空白にすることはできません」
子モデルとフィールド名を抑制するために使用できるロケールへのハックはありますか? 次のように、代わりにベースに追加しようとしました:
self.errors.add :base, field_name + " cannot be blank"
しかし、「価格の詳細ベースの年間価格を空白にすることはできません」というメッセージが表示されます。