Ruby on Rails:关于validates_presence_of的问题

ran*_*its 11 ruby activerecord ruby-on-rails

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

belongs_to :foo
Run Code Online (Sandbox Code Playgroud)

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

validates_presence_of :foo
Run Code Online (Sandbox Code Playgroud)

要么

validates_presence_of :foo_id
Run Code Online (Sandbox Code Playgroud)

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

Ric*_*ook 8

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