Rails 中的简单字段
Simple Fields in Rails
我在 show.html.erb
的 Person
模型中写了这行。
<%= 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
模型中有假期关联:
这里的holiday
和<%= form_for @person do |f| %>
中的f
是一样的,都是一个form builder对象
错误的发生是因为holiday
本身不是模型的一个实例,而是一个表单生成器对象。所以你需要做一些像 holiday.object.name
我在 show.html.erb
的 Person
模型中写了这行。
<%= 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
模型中有假期关联:
-
这里的
holiday
和<%= form_for @person do |f| %>
中的f
是一样的,都是一个form builder对象错误的发生是因为
holiday
本身不是模型的一个实例,而是一个表单生成器对象。所以你需要做一些像holiday.object.name