RoR:在数据库中找到对象时添加属性

时间:2015-08-23 20:23:41

标签: ruby-on-rails ruby model-view-controller

这是我的控制器:

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函数?

0 个答案:

没有答案