ruby-on-rails - f.object 在 Rails 表单生成器中做什么?

标签 ruby-on-rails ruby ruby-on-rails-5

我正在通过教程学习 Rails 5.0,在该教程中它使用了我不熟悉的 f.objectf.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 %>

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

最佳答案

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

在您的示例中,f.object 返回 @section

关于ruby-on-rails - f.object 在 Rails 表单生成器中做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41556889/

相关文章:

ruby-on-rails - 仅允许用户在 Rails 中输入字母和数字

ruby-on-rails - 无法在任何存储库中找到有效的 gem 'rails' (>= 0)

ruby-on-rails - Redis 如何管理未使用的缓存键?

javascript - Rails - 如何设置唯一的 id 来形成选择框

ruby-on-rails - 规范内的访问 session

ruby-on-rails - Rails 覆盖参数值

ruby-on-rails - Mongoid 和嵌入标签

ruby - 将 Ruby 时间转换为 HTML5 全局日期和时间字符串

python - 以毫秒为单位的纪元时间转换为日期时间

ruby-on-rails - 在 stylesheet_link_tag 中使用 media 和 data-turbolinks-track 参数