我正在爲每個用戶分配個人配置文件的用戶構建一個活動應用程序。我爲該網站設置了一些用戶,但是當我嘗試爲每個用戶創建和/或編輯配置文件時,它會將我引回到閃存郵件「該配置文件不屬於您!」這是參考我的第一個用戶配置文件,它已經建立並且工作正常。Ruby on Rails - 無法爲每個用戶創建新的配置文件
我正在使用Devise gem進行初始設置,但已經從我們自己的用戶控制器中構建出來。這裏是從該控制器的代碼 -
class UsersController < ApplicationController
before_action :authenticate_user!
before_action :set_user
before_action :owned_profile, only: [:edit, :update]
def new
@user = User.new
end
def show
@user = User.find(params[:id])
end
def create
end
def edit
@user = current_user #User.find_by(params[:id])
end
def update
@user = User.find_by(params[:id])
if @user.update(user_params)
redirect_to user_path, notice: "Profile successfully updated!"
else
render 'edit'
end
end
private
def user_params
params.require(:user).
permit(:name, :username, :biography, :email, :url)
end
def owned_profile
unless current_user == @user
flash[:alert] = "That profile doesn't belong to you!"
redirect_to root_path
end
end
def set_user
@user = User.find_by(params[:id])
end
end
任何援助,將不勝感激。
非常感謝您的回答,但我不確定這是否解決了最初的問題,但對於每個用戶,我都希望他們編輯他們自己的配置文件。目前它一直在踢回閃光消息。 –
它解決了它。他們仍然可以編輯個人資料,你也可以。 – toddmetheny
如果我不想將自己設置爲該網站的管理員,該怎麼辦? –