Rails 3: ограничить отношения многие ко многим - PullRequest
0 голосов
/ 29 марта 2011

У меня отношения многие ко многим: пользователи - <комментарии> - продукты.Однако я хочу, чтобы только комментарий к продукту был виден его автору.

Маршрут:

resources :products do
  resources :comments
end

Запрос в действии Index элемента управления CommentsController будет выглядеть примерно так:

# @product loaded in before_filter
@comments = @product.comments.where(:author_id=>current_user) # returns 0 or 1 records

Я мог бы изменить маршруты на:

resources :products do
  resource :comments
end

, а затем использовать действие Показать:

# @product loaded in before_filter
@comment = @product.comments.where(:author_id=>current_user) # returns 0 or 1 records

Если нет комментариев, это, вероятно, должно автоматически направлять на Новыйдействия, но я не смог заставить это работать.

Это разумный подход для этого пользовательского случая?

1 Ответ

0 голосов
/ 29 марта 2011

Вы можете сделать redirect_to в вашем методе show, если нет комментариев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...