1
0

Added nested nutrients in ingredient form

This commit is contained in:
cryptogopher 2019-09-13 19:21:28 +02:00
parent c82f903360
commit f039917d0e
7 changed files with 24 additions and 2 deletions

View File

@ -4,6 +4,7 @@ class IngredientsController < ApplicationController
def index
@ingredient = Ingredient.new
@nutrient = Nutrient.new
@ingredients = @project.ingredients
end

View File

@ -1,4 +1,10 @@
module IngredientsHelper
def quantity_options
nested_set_options(@project.quantities.diet) do |q|
raw("#{'&ensp;' * q.level}#{q.name}")
end
end
def unit_options
@project.units.map do |u|
[u.shortname, u.id]

View File

@ -4,6 +4,8 @@ class Ingredient < ActiveRecord::Base
}
belongs_to :project
has_many :nutrients
accepts_nested_attributes_for :nutrients
validates :project, associated: true
validates :name, presence: true, uniqueness: {scope: :project_id}

View File

@ -1,2 +1,8 @@
class Nutrient < ActiveRecord::Base
belongs_to :ingredient
validates :ingredient, presence: true, associated: true
validates :quantity, presence: true, associated: true
validates :amount, numericality: {greater_than: 0}
validates :unit, presence: true, associated: true
end

View File

@ -7,4 +7,11 @@
<%= f.select :ref_unit_id, unit_options, {label: '', required: true} %>
</p>
<p><%= f.select :group, group_options, required: true %></p>
<%= f.fields_for :nutrients, @nutrient do |ff| %>
<p>
<%= ff.select :quantity_id, quantity_options, {label: '', required: true} %>
<%= ff.number_field :amount, {size: 8, label: '', required: true} %>
<%= ff.select :unit_id, unit_options, {label: '', required: true} %>
</p>
<% end %>
</div>

View File

@ -19,7 +19,7 @@ en:
heading: 'Summary'
sidebar:
heading_body_trackers: 'Body trackers'
heding_diet: 'Diet'
heading_diet: 'Diet'
heading_common: 'Common'
link_summary: 'Summary'
link_ingredients: 'Ingredients'

View File

@ -30,8 +30,8 @@ class CreateUnits < ActiveRecord::Migration
create_table :nutrients do |t|
t.references :ingredient
t.references :quantity
t.references :unit
t.decimal :amount
t.references :unit
end
reversible do |dir|