Rails 3: обработка функций конфиденциальности - PullRequest
1 голос
/ 12 января 2011

Часть моего приложения отвечает за запись в фид всех пользовательских действий. Однако я бы хотел, чтобы пользователь мог контролировать свои функции конфиденциальности (прекратить отправку в канал, отправлять только некоторые действия и т. Д.).

Каков наилучший способ сделать это? Должен ли я использовать Cancan или что-то подобное и назначать роли для различных вариантов конфиденциальности?

Спасибо

1 Ответ

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

Полагаю, вы могли бы использовать CanCan, но, на мой взгляд, использование простых условных операторов было бы намного проще.

Я бы сделал что-то вроде:

def write_to_feed(user, action)
  unless user.private?
    unless user.private_action? action
      # Write to feed
    end
  end
end

write_to_feed @user, :post
write_to_feed @user, :comment
...