我有表審計日誌與字段包括:audited_id | audited_typeRails 3 - polymorphic_path - 如何創建一個給定的表
產生如下數據: 108 |照片 303 |評論
我想要做的就是創建一個鏈接到該項目,所以上面的例子:
這裏是照片
我試圖用一個polymorphic_path,但我得到一個錯誤: 「未定義方法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) %>
的DB遷移文件,包含以下行for CreateNewsFeeds
t.references :feeded, :polymorphic => true
如果不明確,AuditLog#auditable會返回關聯的對象,這很方便,否則您必須執行audited_type.constantize.find(audited_id)之類的操作。 – 2010-10-01 15:57:02
@Luke,謝謝,但我不知道我在跟着......上面的代碼示例是否正確?如果沒有,您可以通過任何方式更新您的答案?另外,你是否說我需要確保我已經通過belongs_to,在照片模型的模型中設置了has_many關係? thxs – WozPoz 2010-10-01 16:43:17
盧克,感謝你解釋得這麼好。我想我現在正在接受一般概念,但由於某種原因,我正在努力使其發揮作用。我用我的特定代碼更新了這個問題。如果你看到我做錯了什麼,你能告訴我嗎? – WozPoz 2010-10-01 20:57:12