Rails 3:限制多对多关系

时间:2011-03-29 02:37:58

标签: ruby-on-rails-3 activerecord many-to-many

我有多对多的关系:用户 - <评论> - 产品。但是,我只希望其作者可以看到产品的评论。

路线是:

resources :products do
  resources :comments
end

CommentsController的Index操作中的查询类似于:

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

我可以将路线更改为:

resources :products do
  resource :comments
end

然后使用Show动作:

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

如果没有评论,这可能会自动路由到新操作,但我无法让它工作。

对于这个用户案例,这是一种合理的方法吗?

1 个答案:

答案 0 :(得分:0)

如果没有评论,您可以在show-method中制作redirect_to。