2011-03-29 159 views
0

我有一個多對多的關係:用戶 - <評論> - 產品。但是,我只希望產品的評論對其作者可見。Rails 3:限制多對多關係

的路線是:

resources :products do 
    resources :comments 
end 

在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 

如果沒有評論,這可能應該自動路由到新的行動,但我一直沒有能夠得到這個工作。

這是一個合理的方法,這個用戶案例?

回答

0

如果沒有評論,你可以在show-method中做一個redirect_to。

+0

這工作(結合奇異路線)。確切的語法是redirect_to(:action =>'new')並返回if @ comment.nil? – craig 2011-03-29 13:57:42