".active?"的含义

dB'*_*dB' 2 ruby-on-rails

我正在编写我的第一个Rails应用程序,我对一些方法调用感到困惑,我在一些文档中看到过.在下面的代码片段中,要做的是project.active?什么?

<%= form_for @person do |person_form| %>
  ...
  <% @person.projects.each do |project| %>
    <% if project.active? %>
      <%= person_form.fields_for :projects, project do |project_fields| %>
        Name: <%= project_fields.text_field :name %>
      <% end %>
    <% end %>
  <% end %>
  ...
<% end %>
Run Code Online (Sandbox Code Playgroud)

我试过寻找源代码.active?,但我找不到它...我通过ActiveRecord :: Base搜索,我认为它是超类project,但它不存在.我不知道在哪里可以看.

有谁知道该.active?方法的作用,以及我可以在哪里找到文档?

谢谢,

D.

Ver*_*cus 6

最有可能的是,在这种情况下,您的模型上Project有一个名为的布尔字段active.active?是ActiveRecord提供的布尔值的快捷方式:它根据该布尔值返回true或false.

作为旁注,裸字段名称的操作方式相同 - 因此project.active,就像project.active?返回true或返回一样false.但是大多数返回truefalse以问号结尾的Ruby方法,所以布尔字段为了方便起见得到了他们名字的别名和问号.