我想在我的控制器的更新方法中通过 Viralheat 的 API 发送一个请求,以便当用户点击提交按钮时,一个操作完成并进行 API 调用。我想发帖到 http://www.viralheat.com/api/sentiment/review.json?text=i&do¬&like&this&api_key=[ * your api key * ]
这将返回一些 JSON 格式:
{"mood":"negative","prob":0.773171679917001,"text":"i do not like this"}
是否可以在执行控制器方法时同时进行 API 调用,我将如何处理 JSON 响应?我会把它放在哪个控制器方法中?
最终,我想将响应情绪保存到 BrandUsers 表中的情绪列中。提交在 main.html.erb 中,然后使用更新方法。
控制器
def update
@brand = Brand.find(params[:id])
current_user.tag(@brand, :with => params[:brand][:tag_list], :on => :tags)
if @brand.update_attributes(params[:brand])
redirect_to :root, :notice => "Brand tagged."
else
render :action => 'edit'
end
end
def main
@brands = Brand.all
if current_user
@brand = current_user.brands.not_tagged_by_user(current_user).order("RANDOM()").first
end