2011-02-07 2 views
0
@userc= User.create(:uname => params[:veliuname], :upass => params[:veliupass], :utype => 4, :isenabled=>true, :name=>params[:veliname], :surname => params[:velisurname], :mobiletel=>params[:velimobtel], :email=>params[:veliemail], :org_id => session[:user].org_id) 

@pcurator = Pcurator.create(:user_id=>@userc.id , :address => params[:veliadrs], :city=>params[:velicity], :scity=>params[:veliscity], :othertel=>params[:velistatictel]) 

여기 사용자를 생성하고 프로파일을 할당하려고합니다. 문제는 사용자를 생성 한 후 해당 사용자 ID를 pcurators user_id 값에 할당하려고하는 것입니다. 하지만 그것은 작동하지 않으며 pcurator는 항상 내 데이터베이스에서 user_id로 null을 갖습니다.한 모델에서 다른 모델로 생성 된 값 할당

어떻게하면이 아이디어를 얻을 수 있습니까? 아니면 레일스가 이런 것들을하는 방법이 더 좋습니까?

+0

그런데 컨트롤러에서 발생한다 – gkaykck

답변

1

@userc은 아직 ActiveRecord 레코드를 가리키고 있지 않습니다. 저장된 레코드를로드하려면 @userc.reload!을 시도해보십시오. 어쨌든 복잡한 폼을 사용하지 않고도 쉽게이 작업을 수행 할 수 있습니다. Here, herehere은 동일한 내용의 자습서입니다.

+0

작동하지 않았다 : D – gkaykck

0

User.create (...)를 수행 할 때 레코드가 저장되지 않도록 사용자 모델에 대한 유효성 검사가 없으면 코드에 문제가없는 것으로 나타납니다. 그렇지 않으면 User.create (..)는 db에 레코드를 만들고 'userc'는 id를 가져야합니다.

+0

아니요, 사용자가 데이터베이스에 자신을 저장하고 있지만 ID가 null로 유지됩니다. – gkaykck

0

레일과 루비의 또 다른 불가사의 한 순간, 아무런 변화없이 작동하기 시작했습니다. 나는이 개발 환경에서 싫어하기 시작했다

관련 문제