Rails, сохраняя внешний ключ в ассоциации - PullRequest
2 голосов
/ 14 сентября 2010

Я думаю, что у меня здесь действительно базовая проблема, но я не могу понять, что я делаю неправильно.

Таким образом, проблема заключается в том, что при сохранении экземпляра модели foreign_key для ассоциации belongs_to моделей (в этом случае user_id не сохраняется, поэтому я вынужден сделатьэто:

def new
  @thing = Thing.new(:user_id => current_user.id)
end

def create
  @thing = Thing.new(params[:thing])
  @thing.user_id = current_user.id

  if @thing.save
    redirect_to @thing
  else
    render 'new'
  end
end

Разве user_id не должен сохраняться автоматически, если моя модель имеет эту связь?

class Thing < ActiveRecord::Base
  belongs_to :user
end

Причина, по которой у меня возникла эта проблема, в первую очередьпотому что драгоценный камень friendly_id изменил способ работы всей моей ids и теперь возвращает слизняк объектов ... довольно раздражает, на мой взгляд.

1 Ответ

4 голосов
/ 14 сентября 2010

Я бы попробовал @thing.user = User.find(current_user.id) вместо этого в вашем контроллере.Вы также получили ассоциацию has_many :things, объявленную в вашей пользовательской модели?

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