나는 귀하의 계정 정보를 수정할 수있는 레일 응용 프로그램을 보유하고 있습니다. edit my information
버튼을 클릭하면 링크를 클릭 할 때 다음과 같은 오류가 발생합니다. 사용자 # 편집에NoMethodError in users #
NoMethodError - 정의되지 않은 메서드`이름을 ' 전무에 대한 내 사용자/_form.html.erb
을의 다음 줄을 가리키는 NilClass<% else %> <td><%= @user.admin_level.name %>
내 전체 추적은 다음과 같습니다 : Pastie
무엇이 잘못 되었나요? user.admin_level.name
나는 canno 이 오류가 발생하는 이유는 admin_level 엔티티에도 속성 이름이 존재한다는 것입니다. 내 users_controller에 이름을 정의해야 할,
# GET /users/:id/edit
def edit
if @user
respond_to do |format|
format.html # edit.html.erb
end
else
redirect_to routing_error_path
end
end
그 내가 뭔가를 놓친 것 같다 :
내 users_controller는 다음 데프 편집이있다?
admin_level은 nil이므로 메서드를 호출 할 수 없습니다. 이 예외가 발생하지 않도록하려면이 코드를 대신 사용하십시오. <% = @ user.admin_level.try (: name) %> – mohamagdy