Дело в том, что я занимаюсь основным диетологом, который имеет питание, ингредиенты и количество. Когда пользователь готовит еду, он выбирает ингредиенты и задает их количество. Все, что я хочу, это отображать в строках страницы индекса еды ингредиенты и их количества.Отображение строки таблицы соединений в представлении (has_many через ассоциацию)
<% meal.ingredients.each do |ingredient| %>
<tr>
<td><%= ingredient.name %></td>
<% ingredient.quantities.each do |q| %>
<td><%= q.quant %></td>
<% end %>
<td><%= ingredient.unit %></td>
<td><%= ingredient.carb %></td>
<td><%= ingredient.prot %></td>
<td><%= ingredient.fat %></td>
</tr>
<% end %>
Это показывает все количества, связанные с выбранным ингредиентом. Я не размещаю модели, потому что считаю, что это слишком очевидно. Благодаря
EDIT
дб/schema.rb
create_table "ingredients", force: :cascade do |t|
t.string "name"
t.string "unit"
t.float "carb"
t.float "prot"
t.float "fat"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
create_table "meals", force: :cascade do |t|
t.string "name"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
create_table "quantities", force: :cascade do |t|
t.float "quant"
t.integer "ingredient_id"
t.integer "meal_id"
end
просмотров/питание/index.html.erb
<% @meals.each do |meal| %>
<div class="x_panel">
<div class="x_title">
<h2><%= meal.name %></h2>
<ul class="nav navbar-right panel_toolbox">
<li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><i class="fa fa-wrench"></i></a>
<ul class="dropdown-menu" role="menu">
<li><%= link_to 'Show', meal %>
</li>
<li><%= link_to 'Edit', edit_meal_path(meal) %>
</li>
</ul>
</li>
<li><%= link_to '', meal, method: :delete, data: { confirm: 'Are you sure?' }, class: "fa fa-close" %>
</li>
</ul>
<div class="clearfix"></div>
</div>
<div class="x_content">
<table class="table table-striped">
<tbody>
<% meal.ingredients.each do |ingredient| %>
<tr>
<td><%= ingredient.name %></td>
<% ingredient.quantities.each do |q| %>
<td><%= q.quant %></td>
<% end %>
<td><%= ingredient.unit %></td>
<td><%= ingredient.carb %></td>
<td><%= ingredient.prot %></td>
<td><%= ingredient.fat %></td>
</tr>
<% end %>
</tbody>
</table>
</div>
</div>
<% end %>
<%= link_to 'New Meal', new_meal_path %>
Выделенная цифры являются величинами из банана ингредиент. Однако для еды это связано, я хочу только «123». Я думаю, это проблема с запросами, и я не знаю, как это исправить.
Можете ли вы опубликовать примеры данных строк и выходов? Трудно сказать, что именно вы пытаетесь сделать. –
Я добавил больше кода и объяснил немного дальше. Если вам нужно что-то еще, просто скажите мне :) спасибо –
Чтобы понять, что вы просите, вы просто хотите, чтобы эта строка отображала «Банана 123» и никаких других значений? –