如何显示仅连接到单个用户的记录

时间:2011-01-02 12:54:38

标签: associations ruby-on-rails-3 devise

我希望你能在这里帮助我。非常感谢

我希望用户只能看到他们分配到的课程的指定。如何在控制器中进行设置?

我有3个型号:

class Appointment< ActiveRecord :: Base

belongs_to:用户
  belongs_to:course

class User< ActiveRecord :: Base

has_many:courses,:through => :分配
  has_many:约会

课程< ActiveRecord :: Base

has_many:users,:through => :分配
  has_many:约会

2 个答案:

答案 0 :(得分:1)

你应该能够做到:

@appointments = current_user.appointments

或者我在你的问题中遗漏了什么?


编辑:更详细的例子:

在你的控制器中(假设它是AppointmentsController):

class AppointmentsController < ApplicationController

  def index
    @appointments = current_user.appointments
  end

end

然后,在相应的视图中(appointmentments / index.html.erb):

<%- @appointments.each do |appointment| -%>
  <%= appointment.name %>
<%- end -%>

这完全基于你有current_user可用的假设,但是因为你用'devise'标记了这个问题,我假设你这样做了。

答案 1 :(得分:0)

我想补充一下idlefingers的答案,你应该重新检查课程和用户之间的关系。看起来有点奇怪,双方都很好。使用has_many_and_belongs_to