我是铁杆新手并试图扩展到标准脚手架之外。我想构建一个不仅仅基于一个模型的仪表板,而是一组模型(部分?)来查看天气,股票市场等。其中一些数据将来自模型的查询。其他元素将被硬编码,就像我认为我会开始的股票行情小工具一样。
我首先在lib文件夹中创建了dashboard.rb文件。我使用了以下代码
class Dashboard
def self.tickertable
yahoo_client = YahooFinance::Client.new
data = yahoo_client.quotes(["BVSP", "NATU3.SA", "USDJPY=X"], [:ask, :bid, :last_trade_date])
@ask = data.ask
end
end
接下来,我将必要的代码添加到应用程序.rb文件中以加载lib文件夹
config.autoload_paths += %W(#{config.root}/lib)
然后我在新创建的视图/共享文件夹中添加了一个_tickertable部分。
<table>
<thead>
</thead>
<tbody>
<% Dashboard.tickertable.each do |ticker| %>
<tr>
<td><%= ticker.name %></td>
<td><%= ticker.symbol %></td>
<td><%= ticker.last_trade_price %></td>
</tr>
<% end %>
</tbody>
</table>
我将此部分放在已存在的视图中,当它加载时会出现以下错误:
undefined method `ask' for #<Array:0x6663330>
在&#34;&lt;%Dashboard.tickertable.each do | ticker |上%GT;&#34;线。
我错过了什么关键元素?我觉得我很亲密,但显然缺少一些东西。