我建立嵌套字段与has_many
,belongs_to
关系就像这样:如何编号嵌套字段?
app/controllers/widgets_controller.rb
def new
@widget = Widget.new
3.times { @widget.gizmos.build }
end
app/views/widgets/_form.html.erb
<%= form_for @widget do |f| %>
...
<%= f.fields_for :gizmos do |b| %>
<%= render 'gizmo_fields', f: b %>
<% end -%>
...
<% end -%>
app/views/widgets/_gizmo_fields.html.erb
<%= f.label :name "Gizmo -NUMBER-" %>
<%= f.text_field :name %>
我如何编程确定数量gizmo
出widget.gizmos
总数。使得每个输出会是什么样子:
Gizmo 1 |_____text_____|
Gizmo 2 |_____text_____|
Gizmo 3 |_____text_____|
我想什么来避免:
- 使用JavaScript - 我知道我可以用香草JavaScript或jQuery的数量的这些。我想要一个纯ruby/rails解决方案,这样不仅代码更容易遵循,但我希望能够更多地了解嵌套字段。
- 增量变量 - 再次,我想了解更多关于嵌套字段的上下文,看看是否有更具动态和具体的方法来编号嵌套字段。
我已经知道:
- 我可以通过
f.object
- 访问
gizmo
当前实例我不能在new
行动访问f.object.widget
,因为记录尚未保存
嗯......没有这样的运气...的文章似乎有点过时。 –