Ruby on rails 如何验证其他表中是否存在对应项

Ruby on rails 如何验证其他表中是否存在对应项,ruby-on-rails,ruby,validation,Ruby On Rails,Ruby,Validation,如何根据其他表中的条目验证一个表中的列 我用来验证表“Preperiod”的列“:product_id”的条目是否存在于表“product”的列“id”中的代码是 但是现在我得到了错误,即使产品id是正确的。我做错了什么 我使用ruby 1.9.2和rails 3.0.9 Product.find_by_id('here you should specify value of id field ... ') == nil 因此,您的代码应该如下所示: Product.find_by_id(p

如何根据其他表中的条目验证一个表中的列

我用来验证表“Preperiod”的列“:product_id”的条目是否存在于表“product”的列“id”中的代码是

但是现在我得到了错误,即使产品id是正确的。我做错了什么

我使用ruby 1.9.2和rails 3.0.9

Product.find_by_id('here you should specify value of id field ... ') == nil 
因此,您的代码应该如下所示:

Product.find_by_id(product_id) == nil
或:

或:


什么语言和/或数据库系统???一般来说,这听起来像是关系数据库系统中两个表之间的外键关系的经典案例……我添加了rails标记,因为它看起来像rails问题。正确吗?@Lucapete是的,正确,谢谢。@marc我使用ruby 1.9.2和rails 3.0.9为什么在
产品中使用冒号
。按id(:产品)
查找?这是打字错误吗?当您编写这样的代码时,最好使用
.nil?
或在其他情况下使用
.present?
方法:
Product.find by_id(Product_id).nil?
Product.find_by_id(product_id) == nil
Product.find_by_id(self.product_id) == nil
Product.find_by_id(self[:product_id]) == nil