Rails返回一个奇怪的字符串

时间:2013-07-22 16:09:23

标签: ruby-on-rails select

任何人都可以告诉我为什么我的rails应用程序在执行select语句时会返回这段代码?

#<Driver:0x22ef3f0>

select语句是:

current_schedule_record = {
  'driver_name' => Driver.where(['id = ?', id]).select('first_name').first
}

,视图是:

<% @trucks.each do |truck| %>
  <% record = ScheduleController.schedule_record(truck.id) %>
        <tr>
            <td><%= truck.id %></td>
            <td><%= record['driver_name'] %></td>
        </tr>
        <% end %>

1 个答案:

答案 0 :(得分:4)

来自documentation

  

要小心,因为这也意味着您只使用您选择的字段初始化模型对象。

因此使用select仍会创建一个模型对象。你需要使用像

这样的东西
current_schedule_record = {
  'driver_name' => Driver.where(['id = ?', id]).select('first_name').first.first_name
}