i18n является сокращением от "интернационализации". Это было выдумано в DEC и на самом деле использует нижний регистр я и n.
Как заметка на полях: L10n обозначает "локализацию" и использует капитал L для различения его от нижнего регистра я .
Попробуйте validates_associated .
Я считаю, что это должно позволить выполнить проверку модели соединения перед сохранением. Итак, в вашем случае:
class Project
has many :tags, :through => :taggings
validates_associated :taggings
end
class Taggings
belongs_to :tags
#your validations here....
end
class Tag
has_many :taggings
end
Я думаю, что вы хотите validates_uniqueness_of:
class Taggings
belongs_to :tags
validates_uniqueness_of :tag_id, :scope => :project_id
end
Это то, что я использую, и работает хорошо.