1

Я попытался создать полиморфный ассоциацию в приложении, но когда я проверить это, я, кажется, чтобы иметь возможность извлечь свою ассоциацию только одним способом:Понимание полиморфные ассоциации правильный путь

class Event < ActiveRecord::Base 
    has_many :category_associations, :as => :categorized 
end 

class CategoryAssociation < ActiveRecord::Base 
    belongs_to :categorized, :polymorphic => true 
end 

Теперь, в консоли, я создал несколько категорий (одна из которых - @ca) и событие (@e). я мог тогда сделать

@ca.categorized = @e 
@ca.save 

Моя проблема в том, если я загружаю мой случай и попробовать @e.category_associations я получаю пустой массив ... но когда я пытаюсь загрузку моего @ca и сделать @ca.categorized, я получаю мое событие !!

Полиморфные ассоциации существуют только в одну сторону? Или что мне не хватает?

+1

Почему вы не экономить '@ Ca'? – tadman

+0

Извините @ tadman, вы правы, это была опечатка! Я исправил его, спасибо! – gfd

+0

Последующий вопрос тогда, если запись 'CategoryAssociation' сохранена правильно или нет. Помните, всегда смотрите на запросы, сгенерированные в 'log/development.log', чтобы узнать, имеют ли они смысл. – tadman

ответ

2

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

Я хочу попробовать воспроизвести это, но сейчас, моя проблема решена ...

+2

Ах, конечно. В консоли вам нужно будет вызвать 'reload! ', Если вы измените свои модели. – tadman

+1

AAAAARRRGGGG! Не знал этого! Еще раз спасибо Тадман! – gfd

Смежные вопросы