f.object在Rails表单构建器中做了什么?

dev*_*098 7 ruby ruby-on-rails ruby-on-rails-5

我正在从一个教程中学习Rails 5.0,并在它使用的教程中学习f.object,我对此并不熟悉.所述f.object被传递到ERb的,成处理错误处理的方法.

我知道这f是传递给表单的记录的对象/实例.但我不明白的是f.object.

edit.html.erb(带表单的文件):

<%= form_for(@section) do |f| %>

<%= error_messages_for(f.object) %>
  <table summary="Subject form fields">
    <tr>
      <th>Name</th>
      <td><%= f.text_field(:name) %></td>
    </tr>
    <tr>
      <th>Position</th>
      <td><%= f.select(:position, 1..@subject_count) %></td>
    </tr>
   </table>
<% end %>
Run Code Online (Sandbox Code Playgroud)

没有HTML表单元素被称为object,而这通常是在它之后发生的事情f.,所以真的很不喜欢它可能是什么.

spi*_*ann 6

f.object引用作为参数传递给form_for方法的对象。

在您的示例f.objectreturn中@section