我要把这个放在我的模特身上。
然而,该模型是作为多态的,我希望有不同的条件。
如果我在控制器中执行此操作,我如何编写代码?
models/comment.rb
validates_length_of :body,
:within => 10..100,
:message => "must be between 10 to 100 characters"更新:
我只想在Community创建注释模型时使用此验证条件。注释模型是多态的!它有commentable_type和commentable_id
发布于 2013-01-25 06:30:38
不,你不能在控制器里做这种事。在您的模型中使用条件,或者将其放在社区模型中。
validates_length_of :body,
:within => 10..100,
:message => "must be between 10 to 100 characters", :if => "community?"
def community?
return self.commentable_type == "Community"
end发布于 2013-01-25 06:32:31
你必须在模型中这样做
发布于 2013-01-25 09:38:36
在你的模型里,
validates_length_of :body,
:when => [ :comment ],
:within => 10..100,
:message => "must be between 10 to 100 characters"您可以使用:unless类( :unless => Community.new { |a| a.comment? })
这个链接将帮助您根据您的需要进行理解和编辑。这只是一个解决问题的idea。
https://stackoverflow.com/questions/14516504
复制相似问题