У меня есть таблица AuditLog с полями: audited_id | audited_typeRails 3 - polymorphic_path - Как создать Один заданный стол
Это приводит к следующим данным: 108 | Фото 303 | Комментарий
То, что я хочу сделать, это создать ссылку на элемент, поэтому для примера выше:
здесь есть фото
Я пытаюсь использовать polymorphic_path, но я получаю сообщение об ошибке: "неопределенный метод` model_name»для Fixnum: Класс"
При использовании:
<%= link_to 'Here she is', polymorphic_path([audited_id, audited_type]) %>
идеи? Благодаря
Обновление с кодом на основе ответа Лукой ниже:
class NewsFeed < ActiveRecord::Base
default_scope :order => 'news_feeds.created_at DESC'
belongs_to :feeded, :polymorphic => true
end
class Note < ActiveRecord::Base
has_many :newsfeed, :as => :feeded
end
В парциальное который передается местной storyitem:
<%= link_to 'Here she is', polymorphic_path(storyitem.feeded) %>
миграция файл базы данных, содержит следующую строку для CreateNewsFeeds
t.references :feeded, :polymorphic => true
В случае непонятности AuditLog # auditable возвращает связанный объект, что удобно, поскольку в противном случае вам нужно было бы сделать что-то вроде audited_type.constantize.find (audited_id). –
@ Luke, спасибо, но я не уверен, что я следую ... Правильно ли приведен пример кода? Если нет, каким-либо образом вы могли бы обновить свой ответ? Кроме того, вы говорите, что мне нужно убедиться, что у меня есть функция belongs_to, has_many отношений в моделях для модели Photos? thxs – WozPoz
Люк, спасибо, что так хорошо объяснили. Я думаю, что сейчас получаю общую концепцию, но по какой-то причине я изо всех сил пытаюсь заставить ее работать. Я обновил вопрос с помощью своего кода. Можете ли вы сообщить мне, видите ли вы что-то, что я делаю неправильно? – WozPoz