Вы можете попытаться сделать это (стиль Rails 2.3, так как я еще не пробовал Rails 3, но я полагаю, что решение довольно похоже):
class Comment < ActiveRecord::Base
belongs_to :commentable, :polymorphic => true
attr_accessor :content
attr_accessor :should_validate_comment_length
validates_length_of :content, :maximum => 100, :if => :should_validate_comment_length
end
Затем в месте, гдепроверка должна быть активной, вы можете сделать:
def create
@comment = #somehow obtain a comment model instance (like from POST)
@comment.should_validate_comment_length = true
if @comment.valid?
...
end
Надеюсь, это поможет