Итак, у меня есть наблюдатель, который выглядит так:
class RecipeObserver < Mongoid::Observer
def after_create(object)
puts object.user
puts "test"
end
end
Итак, у меня все работает нормально, но отношения object.user
равны нулю, как будто мой класс Recipe belongs_to
user, который также has_many
recipe. Что я тут не так делаю?
Обновление
Итак, вот мой код контроллера и моя модель, если кто-то может показать мне, как работает надлежащий наблюдатель, создающий другой объект, это было бы очень полезно:
class RecipesController < ApplicationController
respond_to :html
before_filter :authenticate_user!, :only => :new
# ... other actions
def new
@recipe = Recipe.new
respond_with @recipe
end
def create
@recipe = Recipe.new(params[:recipe])
@recipe.save
respond_with @recipe, :notice => "You've created a recipe!"
end
end
Мои модели (для краткости усечены):
class Recipe
include Mongoid::Document
# ... other methods and such
belongs_to :user
end
class User
include Mongoid::Document
field :name
# ... other methods and such
has_many :recipes
end
Итак, большая проблема в том, что вызов object.user
в методе after_create
равен нулю, но он даже не выдает исключение, просто приводит к тому, что ничего не возвращается, что я считаю самым странным, я не действительно уверен в том, как начать отладку этого.