Source と SourceType の 2 つのモデルを取得しました。もちろん、ソースは SourceType に属します。
新しいソースを作成し、それに適切な sourcetype オブジェクトを割り当てたいです。「適切」とは、ソース オブジェクトの 1 つの仮想属性が、ソースの Type になる sourceType オブジェクトのテスト正規表現の一部と一致することを意味します。
ソースオブジェクトに属性ライターを取得しました
class Source < ActiveRecord::Base
belongs_to :source_type
def url=(value)
SourceType.each do |type|
# here i match type's regexp to input value and if match,
# assign it to the new source object
end
end
end
SourceTypes を 2 回実行する必要があるため、カスタム バリデータを作成したくありません。ソースタイプが入力に適合しない場合に検証エラーを発生させて、ユーザーがフォームでエラーの理由を確認できるようにする方法は?