0

私は、コメント システムの実装例を示す RyanB のポリモーフィック アソシエーション ビデオをフォローしていました。

http://railscasts.com/episodes/154-polymorphic-association-revised?autoplay=true

新しいコメントを作成している人のデータベースにユーザー名を追加するにはどうすればよいですか? このようにして、ビューページにユーザー名を表示できます。

ありがとう

4

1 に答える 1

5

やり方が多すぎる

解決策 1

コメント システムに認証を使用する場合は、認証用に 1 つのモデル ユーザーを追加する必要があります (devise を使用することをお勧めします) 。

class User < ActiveRecord::Base
  attr_accessible :email, :password, :username
  has_many :comments
end


class Comment < ActiveRecord::Base
 attr_accessible :content, :user_id
 belongs_to :commentable, polymorphic: true
 belongs_to :user
end

およびコントローラー上 ( 154-polymorphic-association-revised のリポジトリから取得)

def create
    @comment = @commentable.comments.new(params[:comment])
    @comment.user_id = current_user.id
    if @comment.save
     redirect_to @commentable, notice: "Comment created."
    else
     render :new
    end
end

または解決策 2

コメント モデルに 1 つの属性を追加するだけです (認証なし)。

   class Comment < ActiveRecord::Base
     attr_accessible :content, :username
     belongs_to :commentable, polymorphic: true
   end
于 2013-06-06T05:30:48.983 に答える