我有两个课程用户和时间表:
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的计划”
我该怎么做?谢谢你的建议!
答案 0 :(得分:3)
我看不到你的代码语法错误。如果生成错误,请提供错误。要遵循Ruby on Rails约定,您应该能够:
<td><%= user.schedule && user.schedule.name %></td>
如果用户没有分配任何时间表,则&&
。