Индивидуальный вопрос об отношениях - Rails - PullRequest
0 голосов
/ 04 августа 2011

У меня личные отношения между Пользователем и Партнером.В моей модели User у меня есть следующее:

 has_one :partner, :class_name => "Partner"

Я хочу создать нового Партнера, если "отношение_статус == связанный", а затем заставить пользователя перейти на новую форму, чтобы заполнить информацию о его /ее партнер.Таким образом, в моем UsersController у меня есть

respond_to do |format|
    if @user.save && @user.relation_status != "Coupled"
           format .html { redirect_to @user, notice: "User was successfully created ID   
      was #{@id} "}
           format.json { render json: @user, status: :created, location: @user }

         elsif @user.save && @user.relation_status == "Coupled"
           format .html { redirect_to partner_signup_path, notice: "Time for your patna"     
            }
           format.json { render json: @user, status: :created, location: @user }
    else
           format.html { render action: "new" }
           format.json { render json: @user.errors, status: :unprocessable_entity }
     end
   end
 end

В моем PartnersController у меня есть базовое новое и создание действий, которые успешно создают нового Партнера.Очевидно, что невозможно присвоить идентификатор партнера внешнему ключу пользователя - partner_id автоматически, выполнив то, что я делал выше.Как я могу сделать это правильно?Должен ли я делать это в модели пользователя вместо этого?Я вроде новичка в Rails.Спасибо за помощь.

1 Ответ

0 голосов
/ 04 августа 2011

Ответ заключается в том, чтобы держать пользователя в сеансе в UsersController -> session [: id] = @ user.id.Затем в PartnersController я сделал: @partner = Partner.new (params [: user]) @ partner.save @user = User.find (session [: id]) @ user.partner = @ partner

Вуаля.

...