我刚刚遇到Validate presence of field only if another field is blank - Rails的接受解决方案未完成的情况。验证两个字段中的一个字段是否为零
我想的一个或两个两个字段的是存在的,但在我的情况points
需要是0和10之间的数。在情况下点字段是零:points?
字段中的一个被评估为假,并空白的评论被认为是无效的。我试图使它成为一个更具体一点通过指定:points.blank?
:
validates :comment, presence: { unless: :points.blank?, on: :create }
validates :points, presence: { unless: :comment?, on: :create },
numericality: { only_integer: true, allow_nil: true, less_than_or_equal_to: 10, greater_than_or_equal_to: 0 }
,似乎工作(我可以保存0分,没有注释的第一项),但在随后的节省我越来越从奇怪的错误控制器:
NoMethodError(未定义的方法 '验证' 假:FalseClass): 应用程序/控制器/ comments_controller.rb:8:在 '创建'
别的东西在那里我需要做的w ^是否验证?我是否需要使用lambda(正如链接问题的一些答案中所建议的)?
结束了去:'验证:has_comment_or_points上:create',做所有的逻辑在方法 –