2

我有两个类UserSchedule

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

我想创建一个视图,在其中打印按用户过滤的对象计划的名称:

<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 的计划”

我怎样才能做到这一点?感谢您的任何建议!

4

1 回答 1

3

我看不出您的代码有任何语法错误。如果它正在生成错误,请提供错误。要遵循 Ruby on Rails 约定,您应该能够做到:

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

&&是在用户没有分配时间表的情况下。

于 2013-04-14T20:53:43.607 回答