users_controllerのフィルターの前にこの電流があります
before_filter :authenticate_usergroup, :except => [:edit, :update, :show]
ユーザーが自分の情報を編集できるようにするだけで、すべてのユーザーを表示することはできませんが、URL の「ID」を変更するだけで、他のユーザー情報も編集できることがわかりました。
:edit、:show、および :update 関数のみを現在のユーザーに許可して、自分のレコードを取得するにはどうすればよいですか。現在のユーザーにアクセスできるように、application_controllerにこのメソッドがあります
def current_user
return unless session[:user_id]
@current_user ||= User.find_by_id(session[:user_id])
end
#update from users_controller.rb
def update
@user = User.find(params[:id])
respond_to do |format|
if @user.update_attributes(params[:user])
format.html { redirect_to @user, :notice => 'User was successfully updated.' }
format.json { head :no_content }
else
format.html { render :action => "edit" }
format.json { render :json => @user.errors, :status => :unprocessable_entity }
end
end
end