Я создаю блог на Rails с сообщениями, пользователями (аутентификация с помощью 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
Спасибо за ваш ответ, но после того, как я это сделал, имя пользователя рядом с комментарием по-прежнему пуст. В моем файле show я использую метод comment.user. Это правильно? – user2596615
Возможно, вы ищете <% = Comment.user.fullname%> – XanderStrike
В конце концов, это сработало. Я создал миграцию, которая добавляет user_id в контроллер комментариев. В любом случае, спасибо за помощь – user2596615