2016-03-28 4 views
-1

Ich arbeite an einer Rails App, die ich Benutzern erlauben, nur einige ihrer Informationen wie Name oder persönliche Informationen zu bearbeiten, aber ich möchte den Admin Benutzer in der Lage sein, alles zu bearbeiten. Gibt es jemanden, der mir dabei hilft?Den Benutzern erlauben, einige Informationen nur auf Ruby on Rails, aber nicht Admins zu bearbeiten

+0

verwenden Wenn Sie eine neuere Version von Rails verwenden Sie den Zugriff auf [Strong] Parameter haben sollte (http://edgeapi.rubyonrails.org/classes/ActionController/StrongParameters.html), die für diesen von Ihnen beschriebenen Fall verwendet werden. – tadman

+0

Zeig uns, was du bisher herausgefunden hast. –

Antwort

0

dank @tadman das ist, was ich mit

def user_params_UserEdit 
    if current_user?(@user) 
    params.require(:user).permit(:password, 
           :password_confirmation) 
elsif current_user.admin? 
    params.require(:user).permit(:name, :email, :password, 
           :password_confirmation, :admin, :personel_number) 
    end 
end 

kam und für Update:

def update 
@user = User.find(params[:id]) 
if @user.update_attributes(user_params_UserEdit) 
    flash[:success] = "Profile updated" 
    redirect_to root_url 
else 
    render 'edit' 
end 
end 

funktioniert es gut mit mir, was denken Sie?