Мне нужна помощь с этим моим кодом, который отображает список сообщений пользователей вместе с их именем пользователя. Что я хочу, это когда я нажимаю на имя пользователя определенного сообщения, он должен отправить меня в профиль этого пользователя.вместо этого он отправляет мой профиль или профиль текущего пользователя, пока я хочу, чтобы он связывал меня с именем пользователя, на который я нажал профиль.(например, когда вы нажимаете на имя пользователя в Instagram, оно связывает вас с профилем пользователя, чтобы вы могли подписаться на него или отменить подписку и просмотреть его сообщение). Пожалуйста, мне нужна помощь.что я не делаю правильно в моем коде.я на рельсах 5.2.3 и ruby 2.3.3
Дом
<div class="posts">
<% @posts.each do |post| %>
<section class="post">
<div class="user">
<div class="avatar">
<img src="assets/avater.jpg">
</div>
<%= link_to post.user.username, user_path(post.user), class: 'username' %>
</div>
<%= image_tag post.image, class: 'main-image' %>
<div class="description">
<% post.description.to_s.split(' ').each do |word| %>
<% if word.start_with?('#') %>
<%= link_to word, search_index_path(query: word) %>
<% else %>
<%= word %>
<% end %>
<% end %>
</div>
</section>
<% end %>
<%= paginate @posts %>
</div>
маршруты
Rails.application.routes.draw do
get 'search/index'
devise_for :users
get 'home/index'
resources :posts
root 'home#index'
resources :users, only: [:show, :edit, :update]
resources :posts, only: [:new, :create, :show, :destroy]
end
Пользователи контроллер
class UsersController < ApplicationController
before_action :find_user
def show
@user = User.find(params[:id])
@posts = current_user.posts.order(created_at: :desc)
end
def edit
end
def update
current_user.update(user_params)
redirect_to current_user
end
private
def find_user
@user = User.find(params[:id])
end
def user_params
params.require(:user).permit(:username, :name, :website,:bio, :email, :phone, :gender, :avatar)
end
end
почтовый контроллер
class PostsController < ApplicationController
def new
@post = current_user.posts.build
end
def create
@post = Post.create(post_params)
redirect_to root_path
end
def show
@post = Post.find(params[:id])
end
def destroy
@post = current_user.posts.find(params[:id])
@post.destroy
redirect_to user_path(current_user)
end
private
def post_params
params.require(:post).permit(:description, :image, :user_id)
end
end
домашний контроллер
class HomeController < ApplicationController
before_action :authenticate_user!
def index
@posts = Post.order(created_at: :desc).page(params[:page]).per(5)
end
end