Я застрял с этой проблемой в течение некоторого времени.Я строю блог с пользователями и статьями.На этом этапе были созданы пользователи и статьи, а также были добавлены функции регистрации, входа и выхода.
Вот мой код:
user_controller.rb:
class UsersController < ApplicationController
before_action :set_user, only: [:edit, :update, :destroy]
before_action :require_same_user, only: [:edit, :update]
def index
@users = User.all
end
def new
@user = User.new
end
def create
@user = User.new(user_params)
if @user.save
session[:user_id] = @user.id
flash[:success] = "Welcome to Alphablog, #{@user.username}"
redirect_to user_path(@user)
else
render 'new'
end
end
def edit
end
def update
if @user.update(user_params)
flash[:success] = "Your account has been successfully updated"
redirect_to user_path(@user)
else
render 'edit'
end
end
def show
end
private
def user_params
params.require(:user).permit(:username, :email, :password)
end
def set_user
@user = User.find(params[:id])
end
def require_same_user
if current_user != @user
flash[:danger] = "You can only edit your own account"
redirect_to root_path
end
end
end
Проблема, кажется, в: users / show.html.erb, где имя пользователя в @ user.username, кажется, не работает.Не уверен почему.Пересмотрел весь мой код, но безрезультатно.
<h1 align="center">Welcome to <%= @user.username %>'s page</h1>
<h4 align="center"><%= @user.username %>'s articles</h4>
<%= render 'articles/article', obj: @user.articles %>
Пожалуйста, помогите.
Спасибо.