如果问题很简单,我很抱歉,我对Rails相当新。我正在构建一个膳食计划应用程序,并且我正在尝试使用它以便用户可以创建一顿饭,并在该膳食中添加物品。例如。一顿'鱼&筹码'包括'鱼'和'筹码'。据我了解,我认为我需要一种在餐饮创建表单上创建一系列项目的方法 - 但我该如何做?
meal.rb的相关部分:
has_many :items
accepts_nested_attributes_for :items
和item.rb
belongs_to :meal
我需要在膳食表格中添加什么部分才能接受一系列物品?我道歉,我不知道从哪里开始!或者,如果有更简单的方法,请告诉我。但是我不想在用餐时列出'item_1_id','item_2_id'等等!谢谢!
<%= form_for(@meal) do |f| %>
<% if @meal.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@meal.errors.count, "error") %> prohibited this meal from being saved:</h2>
<ul>
<% @meal.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :category %><br />
<%= f.text_field :category %>
</div>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :child_id %><br />
<%= f.number_field :child_id %>
</div>
<div class="field">
<%= f.label :time %><br />
<%= f.date_select :time %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
答案 0 :(得分:0)
有一个很棒的轨道广播插曲,涵盖了这一点。此外,您还希望使用javascript来添加“添加项目”链接。以下示例将始终提供一个新项目。
你会想要做这样的事情
视图
<%= f.fields_for :items do |builder| %>
<fieldset>
</fieldset>
<% end %>
控制器
@meal.items.build