У меня есть два контроллера - a ProfilesController
и UsersController
. У меня есть страница, полная постов в блоге, и я хочу, чтобы у каждого была ссылка на профиль пользователя, который их создал. У меня были крошечные проблемы с этим в последнее время, и я хочу начать все сначала, но не знаю, с чего начать. Как я могу пойти по этому поводу?
Почтовый контроллер:
def index
@shit = Static.all.order('id DESC')
if params[:search]
@posts = Post.search(params[:search]).order("created_at DESC").paginate(page: params[:page], per_page: 5)
else
@posts = Post.all.order('created_at DESC').paginate(page: params[:page], per_page: 5)
end
end
Профили модели:
class Profile < ApplicationRecord
belongs_to :user
end
Модель пользователя:
class User < ApplicationRecord
has_secure_password
validates :username, uniqueness: true
has_many :posts, foreign_key: :author
has_many :comments, foreign_key: :author
has_one :profile, foreign_key: :user
after_create :build_profile
def build_profile
Profile.create(user: self) # Associations must be defined correctly for this syntax, avoids using ID's directly.
end
end
Кстати, не используя Devise