当我的用户创建了一个应该包含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
)。
没有异常被抛出。保存时没有回调。
答案 0 :(得分:0)
如果您在标准Rails两步(#new(POST) - &gt; #create)中执行此操作,则需要在#create操作中将Unit与current_user关联。
def create
@unit = Unit.new
@unit.user = current_user
# ...
end