Rails,将外键保存在`belongs_to`关联中

时间:2010-09-13 21:32:45

标签: ruby-on-rails

我想我在这里遇到了一个非常基本的问题,但我似乎无法指出我做错了什么。

所以这里的问题是当我为模型的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

我首先遇到这个问题的原因是因为gem friendly_id改变了我所有ids的工作方式,现在又返回了对象slu ... ...意见。

1 个答案:

答案 0 :(得分:4)

我会在您的控制器中尝试@thing.user = User.find(current_user.id)。您是否还在用户模型中声明了has_many :things关联?