Now what I am trying to do is list all the ingredients for a Stack
(using standard params[:id]). It seems that I cannot pass multiple
product_ids (but one id work fine!) to get the ingredients listing.
Ingredient :
 def stack
=== END === @stack.products will give you an array of products then for each
product, product.ingredients will give you an array of ingredients.
Ingredient :
 def stack
=== END === @stack.products will give you an array of products then for each
product, product.ingredients will give you an array of ingredients.
Colin
Thank you Colin, it seems to work since “#” character appear for each
ingredient of a product. Now I must figure out how I get the
ingredient’s name. Can you give me an exemple, since
product.ingredients.name doesn’t work?
Regards,
Hugues
Thank you Colin, it seems to work since “#” character appear for each
ingredient of a product. Now I must figure out how I get the
ingredient’s name. Can you give me an exemple, since
product.ingredients.name doesn’t work?
product.ingredients is an array, you could reference
product.ingredients[0].name or you could iterate the array using
product.ingredients.each. Another useful construct is
product.ingredients.map(&:name) which will give you an array of
ingredient names.
In all of this don’t forget to watch out for a product with no
ingredients (product.ingredients is nil in this case) which can give
you run-time errors if you have not caught them. The same applies to
stack.products.
I wonder whether it would be useful for you to run through some basic
Ruby tutorials to get a bit more grounding on the basics of Ruby.
Thank you Colin, it seems to work since “#” character appear for each
ingredient of a product. Now I must figure out how I get the
ingredient’s name. Can you give me an exemple, since
product.ingredients.name doesn’t work?
product.ingredients is an array, you could reference
product.ingredients[0].name or you could iterate the array using
product.ingredients.each. Another useful construct is
product.ingredients.map(&:name) which will give you an array of
ingredient names.
In all of this don’t forget to watch out for a product with no
ingredients (product.ingredients is nil in this case) which can give
you run-time errors if you have not caught them. The same applies to
stack.products.
I wonder whether it would be useful for you to run through some basic
Ruby tutorials to get a bit more grounding on the basics of Ruby.
Good Luck
Colin
Thank you Colin. I managed to get it right with your advice using
product.ingredients.each do |ingredient|
and then using
ingredient.name
I will do some Arrays and Hashes tutorials right away since I think I’m
gonna need to manipulate data that way sooner or later.