我知道之前曾问过这个问题的变体,但我确实相信我的问题不同; - )
我有2个Ruby on Rails类(使用assoc。控制器,模型等)。这些是设备和消息。
在Devices index.html视图中,我需要引用最新的Message记录。
<table>
<tr>
<th>Device Name</th>
<th>Checked</th>
</tr>
<% newestMessage = Message.find(:all, :order => "updated_at DESC", :limit => 1) %>
<% @devices.each do |device| %>
<tr>
<td><%= device.name %></td>
<td><%= newestMessage.updated_at %></td>
</tr>
<% end %>
</table>
(我相信我应该将逻辑转移到帮助者,但暂时我会让它保持尽可能简单,当我开始工作时)
当我访问这个blahblah.com/devices时,我得到......
undefined method `updated_at' for #<Array:0x103f36c00>
由于这条线,
<td><%= newestMessage.updated_at %></td>
现在,我已经看到这样的问题建议将以下内容添加到messages_controller.rb,
attr_accessor :updated_at
但是,我试过这个并没有用。另外,我认为这不应该是必要的,因为'updated_at'是从数据库派生的,用脚手架等构建的。
如果我只打印'newestMessage',它似乎有一个明智的价值。
我的问题是,我应该如何访问newestMessage中的字段,这些字段来自Device index.html.erb的类消息?
提前致谢。
答案 0 :(得分:0)
尝试newestMessage = Message.last
然后newestMessage.updated_at