0

投稿、ユーザー (Devise による認証)、コメントを含む Rails のブログを作成しています。ユーザーが投稿にコメントを書く場合、コメントの上に彼の名前を表示したいと思います。これどうやってするの?私を助けてください

私のコメントコントローラー:

class CommentsController < ApplicationController
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.build(params[:comment])
@comment.save
redirect_to @post
end

def destroy
@comment = Comment.find(params[:id])
@comment.destroy
redirect_to @comment.post
  end
end

私のモデル:

class Comment < ActiveRecord::Base
attr_accessible :post_id, :text
belongs_to :post
belongs_to :user
end

class User < ActiveRecord::Base
has_many :posts, :dependent => :destroy
has_many :comments, :dependent => :destroy

validates :fullname,      :presence => true, :uniqueness => true
validates :password,      :presence => true
validates :email,         :presence => true, :uniqueness => true


devise :database_authenticatable, :registerable,
     :recoverable, :rememberable, :trackable, :validatable

attr_accessible :email, :password, :password_confirmation, :fullname
end


class Post < ActiveRecord::Base
attr_accessible :text, :title, :tag_list
acts_as_taggable

validates :user_id, :presence => true
validates :title,   :presence => true
validates :text, :presence => true

belongs_to :user
has_many :comments
end
4

1 に答える 1

-1

ユーザーを割り当てるだけですcomments_controller.rb

def create
  @post = Post.find(params[:post_id])
  @comment = @post.comments.build(params[:comment])
  @comment.user = current_user
  @comment.save
  redirect_to @post
end

次回は、質問の調査にもう少し時間を費やしてください。これは一般的なタスクであり、非常に簡単な Google 検索で質問する手間を省くことができます。

于 2013-07-29T16:36:36.217 に答える