как отображать записи, которые связаны только с одним пользователем - PullRequest
0 голосов
/ 02 января 2011

Я надеюсь, что вы можете помочь мне здесь.Большое спасибо

Я хочу, чтобы пользователи только могли видеть назначения на курсы, на которые они назначены.Как мне установить его в контроллерах?

У меня есть 3 модели:

Назначение класса

принадлежат_пользователю:
принадлежат_то: курс

конец

класс Пользователь

has_many: курсы,: через =>: задания
has_many: встречи

конец

курс курса

has_many: пользователи,: through =>: назначения
has_many: встречи

end

Ответы [ 2 ]

1 голос
/ 02 января 2011

Вы должны просто быть в состоянии сделать:

@appointments = current_user.appointments

Или я что-то упустил в вашем вопросе?


Редактировать: Более подробный пример:

В вашем контроллере (скажем, это AppointmentsController):

class AppointmentsController < ApplicationController

  def index
    @appointments = current_user.appointments
  end

end

Затем в соответствующем представлении (назначений / index.html.erb):

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

Все это основано на предположении, что у вас есть current_user, но, поскольку вы пометили вопрос как 'devise', я предполагаю, что вы делаете.

0 голосов
/ 03 января 2011

Я хочу добавить к ответу idlefingers, что вы должны перепроверить эти отношения между курсами и пользователями.Кажется немного странным иметь с обеих сторон has_many.Используйте has_many_and_belongs_to

...