【发布时间】:2016-07-30 11:57:01
【问题描述】:
我正在使用 ruby on rails 开发一个食品应用程序,它需要从食品 api 获取食品的卡路里值。在我的控制器中,我得到 JSON 响应,但我无法解析和显示食品的卡路里值在 index.html.erb 文件中,这里是我的控制器代码。
require 'rubygems'
require 'httparty'
class FoodsController < ApplicationController
def index
@foods = Food.all
end
def show
@food = Food.find(params[:id])
end
def new
@food = Food.new
end
def edit
@food = Food.find(params[:id])
end
def create
@food = Food.new(food_params)
@response = HTTParty.get('http://api.nutritionix.com/v1_1/search/'+@food.name+'?fields=item_name%2Citem_id%2Cbrand_name%2Cnf_serving_size_unit%2Cnf_calories%2Cnf_total_fat&appId=696d1ad4&appKey=aec2c4766d40d7f6346ed89d5d82fe75')
@http_party_json = JSON.parse(@response.body)
if @food.save
redirect_to foods_path
else
render 'new'
end
end
def update
@food = Food.find(params[:id])
if @food.update(food_params)
redirect_to @food
else
render 'edit'
end
end
def destroy
@food = Food.find(params[:id])
@food.destroy
redirect_to foods_path
end
private
def food_params
params.require(:food).permit(:name, :quantity)
end
end
非常欢迎任何建议,因为我是 stackoverflow 的新手,所以不知道正确的编辑请原谅!帮助我如何在 html 页面中显示卡路里值
【问题讨论】:
-
您要在哪个操作中查看数据?索引
-
@mohamed-ibrahim 感谢您的编辑。我想在此 url api.nutritionix.com/v1_1/search/… 中提取食品的卡路里值,例如牛奶,并在 index.html.erb 文件中显示卡路里值
-
@mohamed-ibrahim 在创建食物对象后的创建操作中
-
对象创建后重定向到索引
标签: ruby ruby-on-rails-3 api parsing httparty