все запросы по умолчанию для пользователей компании - PullRequest
1 голос
/ 17 ноября 2011

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

У меня есть компания со многими пользователями, которая должна видеть только оборудование, принадлежащее этой компании.

Я думал, что cancan может сделать это на основании этого:

Учетная запись Rails 3 со многими пользователями, ограничение доступа к данным

Итак, я попробовал этот код:

can :manage, Equipment do |equipment|
  user.company == equipment.company
end

В контроллере оборудования у меня есть @equipment = Equipment.all, который, как я полагал, просто вытянет оборудование для этой компании пользователей, но, конечно, он вытянет их всех. Есть ли простой способ сделать это, или мне нужно сделать @equipment = Equipment.find_by_company_id(current_user.company) в любое время, когда я хочу взять только оборудование этой компании. Чтобы сделать это еще хуже, я хочу в конечном итоге разбить его по группам и отделам, но не стал бы заставлять себя делать более крупные запросы поиска. Я открыт ко всему, плагинам, предложениям, ко всему, что будет самым быстрым способом исправить это.

Я мог бы добавить больше кода к этому вопросу, но я не знаю, что добавление всего этого действительно помогло бы этому вопросу.

Большое спасибо

Toby

1 Ответ

2 голосов
/ 17 ноября 2011
...