查找具有ID的对象的名称

时间:2013-04-14 20:30:09

标签: ruby-on-rails ruby sqlite

我有两个课程用户时间表

class User < ActiveRecord::Base
  attr_accessible :startdate, :schedule_id, :password, :username
  belongs_to :schedule
end

class Schedule < ActiveRecord::Base
  attr_accessible :name
  has_many :users
end

我想创建一个View,在其中我打印由User过滤的对象计划的名称:

<table>
  <% @users.each do |user| %>
  <tr>
    <td><%= user.id %></td>
    <td><%= user.username %></td>
    <td><%= user.password %></td>
    <td><%= user.startdate %></td>
    <td><%= Schedule.find(user.schedule_id).name %></td>  # <<< This is what I want to do!
  </tr>
  <% end %>
</table>

当我执行此操作时,我会“找不到没有ID的计划”

我该怎么做?谢谢你的建议!

1 个答案:

答案 0 :(得分:3)

我看不到你的代码语法错误。如果生成错误,请提供错误。要遵循Ruby on Rails约定,您应该能够:

<td><%= user.schedule && user.schedule.name %></td>

如果用户没有分配任何时间表,则&&