2012-02-29 4 views
0

등록 양식에 새 필드를 추가하고 싶습니다. 이를 위해
:
1. 내가 만들어 내가보기를 변경
레일 3 등록 양식에 필드 추가하기

attr_accessible :email, :password, :password_confirmation, :remember_me, :user_name 

3. 내 모델을 변경
2. 내 데이터베이스 필드 이름 _ 이름

<%= f.label :user_name %> 
<%= f.text_field :user_name %> 

그러나 오류가 발생했습니다 : #User에 대해 정의되지 않은 메서드 'user_name': 0x1ff0e30

아무도 도와 줄 수 있습니까?

+0

devise에서 사용하는 클래스의 이름을 irb에 입력하고 (User 또는 AdminUser라고 가정) 우리에게 결과를 보여줘. – zachar

+0

결과 : => 사용자 (ID : 정수, 주소 : 문자열, 전자 메일 : 문자열, encrypted_password : 문자열, 확인 문자열 : 문자열, 확정 된 날짜 : datetime, 확정 날짜 : datet ime, reset_password_token : 문자열, reset_password_sent_at : datetime, remember_cr eated_at : 날짜, SIGN_IN_COUNT : 정수, current_sign_in_at : 날짜, current_sign_in_ip : : 문자열, last_sign_in_ip : updated_at datet IME, : 정수, unlock_token : : 문자열, locked_at : 날짜, created_at 문자열, _attempts 실패 날짜는 ign_in_at이 last_s 날짜를 , authentication_token : string, ** user_name : string **) –

답변

0

필드를 어떻게 만들었습니까? 모델이 필드가 두 가지 중 하나 일 수 있다는 것을 인식하지 못하는 것 같습니다.

먼저 데이터베이스의 테이블에 필드를 추가하기 위해 마이그레이션을 실행하지 않았습니다. 이 오류가 발생할 때 사람의 가장 흔한 실수입니다.

둘째, 으로 필드를 추가했지만 잘못된 데이터베이스에 추가했습니다. 덜 일반적이지만 잠재적 인 가능성.

+0

먼저, ** 레일즈 마이그레이션을했습니다. add_user_name_to_user user_name : string **. 둘째, ** rake db : migrate : up VERSION = 20120229121145 ** –

+0

그냥'rake db : migrate'로 충분합니다. –

+0

해결책을 찾았습니다 : 간단한 웹 서버 다시 시작) 도움을 주신 모든 분들께 감사드립니다! –

관련 문제