Rails 中的简单字段

Simple Fields in Rails

我在 show.html.erbPerson 模型中写了这行。

 <%= f.simple_fields_for :holidays do |holiday| %>
   <%= holiday.input :number,
                     :label => holiday.day.name,
                     :input_html=>{
                       :required => false
                     } %>

我有两个问题:

1.这里的假期是什么意思。我的意思是它包含什么?

2. :label => holiday.day.name 行报错=> undefined method day.

有一个连接 table holidays 其中包含 (person_id, day_id, number).

holiday 是表单生成器对象。

要获取包装在表单生成器对象中的对象,您需要对其调用 object 方法。以下将起作用。

holiday.object.day.name

我假设您在 Person 模型中有假期关联:

    这里的
  1. holiday<%= form_for @person do |f| %>中的f是一样的,都是一个form builder对象

  2. 错误的发生是因为holiday本身不是模型的一个实例,而是一个表单生成器对象。所以你需要做一些像 holiday.object.name