I'm using the USDA SR-21 Database for a calorie counting
website. To get the calories/quantity I have created some named
scopes in the model food.rb
named_scope :by_long_desc, lambda { |long_desc| {:conditions
=> ["long_desc like ?", "%#{long_desc}%"], :limit => 100 } }
named_scope :by_fd_group_id, lambda { |fd_group_id| {:conditions
=> ["fd_group_id = ?", fd_group_id] } } named_scope :fd_nutrs,
:include => :nutrs, :conditions => {'nutrs.nutr_def_id' =>
208}
which work and with the controller calling
if params[:search_fd_groups][:id].blank?
@foods = Food.by_long_desc(params[:search_long_desc]).fd_nutrs
#raise @foods.to_yaml
else
@foods = Food.by_long_desc(params[:search_long_desc]).by_fd_group_id(params[:search_fd_groups][:id]).fd_nutrs
end
end
when raise raise @foods.to_yaml
I get
- !ruby/object:Food attributes: n_factor: "6.25" ref_desc: ""
updated_at: com_name: "" fat_factor: "9.02" shrt_desc:
BEERWURST,BEER SALAMI,PORK & BF fdgrp_cd: "0700" cho_factor:
"3.68" pro_factor: "4.27" id: "7002" survey: Y manu_facname: ""
refuse: "0" long_desc: Beerwurst, beer salami, pork and beef
ndb_no: "07002" created_at: 2009-01-29 18:18:10 sci_name: ""
fd_group_id: "700" attributes_cache: {}
nutrs: - !ruby/object:Nutr
attributes:
cc:
updated_at:
low_eb: "0.000"
std_error: "0.000"
val: "277.000"
stat_cmt: ""
df: "0"
min_val: "0.000"
add_nutr_mark: ""
num_studies: "0"
ref_ndb_no: ""
nutr_def_id: "208"
up_eb: "0.000"
id: "101976"
deriv_cd: NC
src_cd: "4"
num_data_pts: "0"
nutr_no: "208"
ndb_no: "07002"
created_at: 2009-01-29 18:13:08
max_val: "0.000"
food_id: "7002"
attributes_cache: {}
which is all good, but how do I access nutrs.val in the
view.
Consumption
<%= render :partial => "search_foods" %>
Number of records returned: <%=h @foods.count %>
<% if !@foods.nil? %><% for food in @foods -%>
| <%=h food.long_desc %> |
<% for gram in food.grams %><% form_tag 'add_to_cart' do %>
<%= text_field_tag 'quantity' %><%=h gram.amount %>-<%=h gram.msre_desc %>
<%= hidden_field_tag :food_id, gram.food_id %>
<%= hidden_field_tag 'gram_id', gram.id %>
<%= submit_tag "Add" %> |
<% end %><% end %>
<% end %><% end %>
I need to calculate quantity.to_f*gram.gm_wgt*nutr.val/100 to
show calories pre item.
I'm so close.............thanks