2010-11-11 109 views
0

我正在使用acts_as_commentable,並且很好奇,如果任何人有任何關於如何允許匿名和註冊用戶發表評論的好主意?這意味着,如果註冊用戶已通過身份驗證,我希望用他們的姓名等標註評論。但是我也希望匿名用戶能夠評論並記錄姓名和電子郵件地址。我正在使用Devise進行身份驗證。用acts_as_commentable匿名註冊用戶實現?

我對如何使這項工作有一個想法,但對我來說感覺有點不好意思。想知道如果有人有任何想法。

回答

4

我不知道你的插件,但如果你用這個(https://github.com/jackdempsey/acts_as_commentable),似乎很基本的...

的評論模式有關係用戶不是強制性的。 因此,在您的新評論表單中,如果用戶未被記錄(text_field_tag:first_name,text_field_tag:last_name),我只需添加兩個text_field_tags。

而且我只寫了這樣的評論的創建操作:

def create 
    @comment = Comment.new(:commentable => @your_object, :user => current_user, :first_name => params[:first_name], :last_name => params[:last_name]) 
    ... 
end 

如果用戶沒有登錄,CURRENT_USER將是零,並且不會造成任何問題。

你可以寫一個輔助方法,用於取決於它有一個用戶或不喜歡這個評論顯示名稱...

# Displays the user's login if any or else the first name and last name 
def displayed_name(comment) 
    comment.user ? comment.user.login : "#{comment.first_name} #{comment.last_name}" 
end 
+0

我喜歡比我在想什麼好。謝謝! – 2010-11-12 00:38:19