遍历活动记录中数组中的元素
iterate through elements in array within active record
我正在尝试进行比较并 return 声明该项目是否在数组内。菜单是我在活动记录中的一个对象,它由 3 个属性组成,菜单类型、餐点和餐厅 ID。对于膳食属性,我为其设置了一个变量,它实际上是一个包含膳食名称的数组。
在我的代码中,当我输入“#{menu.meal}”时,我返回...
["Pancakes W/ Eggs and Bacon", "Bacon Egg and Cheese", "Oatmeal W/ Raisins", "Scrambled Eggs W/ Grits", "Blueberry Waffles W/ Syrup", "Chocolate Chip Pancakes W/ Sausage", "Yogurt Muffin"]
这是我在我的种子文件中设置的一组膳食。
在下面的代码中,我想做的是当用户输入它想要的食物时,如果它退出,我想搜索所有的食物,如果它退出,那么用户可以继续,如果没有,我想输出一个错误消息说它不存在。
puts "What meal would you like to order"
item_meal = gets.chomp
menus_meals = res.menus.select do |menu|
binding.pry
menu.meal == item_meal
看来你的代码是正确的,我只是建议你在这种情况下使用 include?
,因为你只是想检查 item_meal
是否存在于 menus
中。
if res.menus.include?(item_meal)
# user proceeds
else
# show an error message
end
我正在尝试进行比较并 return 声明该项目是否在数组内。菜单是我在活动记录中的一个对象,它由 3 个属性组成,菜单类型、餐点和餐厅 ID。对于膳食属性,我为其设置了一个变量,它实际上是一个包含膳食名称的数组。
在我的代码中,当我输入“#{menu.meal}”时,我返回...
["Pancakes W/ Eggs and Bacon", "Bacon Egg and Cheese", "Oatmeal W/ Raisins", "Scrambled Eggs W/ Grits", "Blueberry Waffles W/ Syrup", "Chocolate Chip Pancakes W/ Sausage", "Yogurt Muffin"]
这是我在我的种子文件中设置的一组膳食。 在下面的代码中,我想做的是当用户输入它想要的食物时,如果它退出,我想搜索所有的食物,如果它退出,那么用户可以继续,如果没有,我想输出一个错误消息说它不存在。
puts "What meal would you like to order"
item_meal = gets.chomp
menus_meals = res.menus.select do |menu|
binding.pry
menu.meal == item_meal
看来你的代码是正确的,我只是建议你在这种情况下使用 include?
,因为你只是想检查 item_meal
是否存在于 menus
中。
if res.menus.include?(item_meal)
# user proceeds
else
# show an error message
end