Новый объект, принадлежащий_, не будет связан с пользователем Devise, который его создал - PullRequest
0 голосов
/ 27 августа 2011

Когда мой пользователь создает объект, на котором должно быть его id, id выходит nil. Идеи почему?

# controllers/units_controller.rb

class UnitsController < ApplicationController
  before_filter :authenticate_user!

  def new
    @unit = Unit.new
    @unit.user = current_user  # also tried .user_id = current_user.id
[...]


# models/unit.rb

class Unit < ActiveRecord::Base
  belongs_to :user
  # :user has_many :units too
[...]

Объект успешно сохранен, но с пустым полем user_id (показывает nil). Не исключение не выбрасывается. При сохранении обратного вызова нет.

1 Ответ

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

Если вы делаете это в стандартных двухшаговых Rails (#new (POST) -> #create), то вам нужно связать Unit с current_user в действии #create.

def create
  @unit = Unit.new
  @unit.user = current_user
  # ...
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...