这是我的控制器:
def show
@portfolio = Portfolio.find(params[:id])
@investments = Investment.where(:portfolio => @portfolio.id)
end
将显示该投资组合的投资组合和多项投资。数据库中的投资具有以下属性:
ID,代码,数量,投资组合ID
我期待的是获得投资的价格,我通过api获得如下:
def get_nav
nav_url = 'http://navs.xignite.com/v2/xNAVs.xml/GetNAV?IdentifierType=Symbol&Identifier=' + ticker + '&_TOKEN=' + XIGNITE_TOKEN
require 'open-uri'
nav_doc = Nokogiri::XML(open(nav_url))
nav_value = nav_doc.css('NAV').first.content.to_f
end
其中ticker
需要是投资中的investment.ticker
变量,然后nav_value
将是股票价格,存储为investment.price
。我要做的是在show
视图中进行此操作:
<% @investment.each do |i| %>
Stock: <%= i.ticker %><br>
Price: <%= i.price %>
<% end %>
为了实现这一目标,我需要在模型中添加什么?我在哪里放置get_nav
函数?