2013-07-19 6 views
0

사용자가 양식에 정보를 입력해야하는 앱을 개발 중입니다. 그것의 일부 필드에 대한 기본 유효성 검사가 비어 있지 않은지 확인합니다.유효성 검사 필드가 작동하지 않습니다.

사용자 모델은 많은 user_entries

has_many :user_entries, dependent: :destroy 

을 가지고 있으며 user_entry 모델은 사용자에게 속한

문제가 추가하기 전에 user_entry 모델

validates :name, :address, :email, presence: true 

에서 검증에 발생

belongs_to :user 

이 코드는 잘 작동 user_entries 테이블에 외래 키 user_id, 나는 수 f 문제없이 양식을 작성하고 표에 항목을 추가하십시오. 하지만 사용자에게 항목을 추적 할 수 있도록 user_entries 테이블에서 현재 사용자 ID를 캡처해야합니다.

def create 
    @user_entry = UserEntry.new(params[:user_entry]) 
    @user_entry.add_comp_connections_from_entered_competition(current_entered_competition) 
    @user = current_user 
    @user_entry = @user.user_entries.build 
#--etc--# 

유효성 검사를 제거하면 처리 할 수 ​​있지만 제거하지 않으려합니다. 외래 키를 제거하면 유효성을 확인할 수 있습니다. 그러나 나는 변화 덕분에 SteveTurczyn에서 언급 한 바와 같이

+0

그냥 .... @ user_entry.user = CURRENT_USER ... – SteveTurczyn

+0

대신의를 추가 할 수 없습니다? @ user = current_user @ user_entry = @ user.user_entries.build –

+0

완벽하게 고맙다. 나는 내가 과장되어 있다고 생각했다. –

답변

0

@user = current_user 
@user_entry = @user.user_entries.build 

단지

@user_entry.user = current_user 

너무 많은 해결처럼 코드가 작동하게하려면 두 어떤 도움은 매우 극명하게 될 것이다, 작업 할 문제는 그 일을 복잡하게하지 않은 경우입니다.

다시 한번 감사 스티브 Turczyn

관련 문제