Ruby on Rails:关于validates_presence_of的问题

时间:2010-09-20 21:55:01

标签: ruby-on-rails ruby activerecord

我在基于ActiveRecord的模型中有一段关系,如下所示:

belongs_to :foo

我的模型应始终在其中定义foo,以使其有效。我的问题是,当使用validates_presence时,哪一个是合适的使用者:

validates_presence_of :foo

validates_presence_of :foo_id

当然假设这个foo_id是适当的外键,如果不更改关联键,默认情况下它是默认的。

3 个答案:

答案 0 :(得分:8)

第一个:validates_presence_of :foo(虽然我认为第二个也会起作用)。通常,Ruby验证助手使用模型名称而不是显式列名称。除了 validates_associated之外,您还可以使用此来验证关联实体的状态以及其存在。

答案 1 :(得分:1)

您可能需要考虑validates_associated

这将确保关联有效。

答案 2 :(得分:0)

我使用validates_presence_of :foo_id。它有效。