2014-06-25 159 views
-1

我有一個應用程序,您可以在其中撰寫文章,其他用戶可以在文章上投票,如果他們喜歡。但不幸的是,投票系統工作不正常。後一篇文章收到第一次表決,其他用戶無法在同一篇文章投票,這裏是我的代碼:投票系統無法正常工作

審查模式

class Review < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :article 
    validates_uniqueness_of :article_id, scope: :user_id 
end 

條控制器

def upreview 
    @article = Article.find(params[:id]) 
    @article.reviews.create 
    redirect_to(:back) 
end 

回答

2

我猜這是因爲:user_idnil。換句話說,驗證工作正常,並且您只能創建一個Review每個文章,:user_idnil

也許你可以這樣做:@article.reviews.create(user: current_user)。這將設置:user_id屬性。

+0

非常感謝,問題正是它,user_id是零,但是當我把這個代碼@ article.reviews.create(user:current_user),我得到錯誤「未定義的方法」評論「,我怎麼能修理它?再次感謝!我試圖解決它幾個小時 – Osni

+0

哦,對不起,我的錯誤,我忘了改變我以前做的事情!非常感謝!! – Osni