Присвоение созданного значения одной модели другой модели - PullRequest
0 голосов
/ 07 февраля 2011
@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])

Здесь я пытаюсь создать пользователей, а затем назначить им профили. Проблема заключается в том, что после создания пользователя я пытаюсь назначить этот идентификатор пользователя значению user_id pcurators. Но это не работает, и pcurator всегда имеет значение null как user_id в моей базе данных.

Есть идеи, как мне это сделать? Или есть лучший способ сделать это Rails?

Ответы [ 3 ]

1 голос
/ 07 февраля 2011

@userc еще не указывает на запись ActiveRecord. Вы можете попробовать сделать @userc.reload!, чтобы загрузить сохраненную запись. Во всяком случае, вы можете легко сделать это без всего этого, используя сложные формы. Здесь , здесь и здесь являются учебниками для того же самого.

0 голосов
/ 07 февраля 2011

Еще один волшебный момент от рельсов и рубинов, он начал работать без каких-либо изменений.Я начинаю ненавидеть эту среду разработки

0 голосов
/ 07 февраля 2011

Я не нахожу никаких проблем с вашим кодом, за исключением случаев, когда на модели User есть какая-либо проверка, чтобы при выполнении User.create (...) запись не сохранялась. В противном случае User.create (..) должен создать запись в БД, а 'userc' должен иметь идентификатор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...