我正在研究一個簡單的應用程序,允許用戶寫一篇文章(parent_post),和另一個用戶來回答這個文章(child_post)。 我正在使用Ancestry gem來跟蹤帖子之間的關係。 Ancestry是一個gem /插件,允許將模型的記錄組織爲樹結構(或層次結構)。它揭示了所有標準的樹結構關係(父,根,子,祖先......)。Rails:與模型關聯使用祖先寶石(樹結構模型)的問題
應用程序的數據庫schema.rb:
create_table "posts", :force => true do |t|
t.text "title"
t.text "content"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.integer "user_id"
t.string "ancestry"
end
create_table "users", :force => true do |t|
t.string "email", :default => "", :null => false
t.string "encrypted_password", :default => "", :null => false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string "name"
end
挑戰: 我要顯示其在child_post展會鑑於parent_post的作者信息。 通過祖先寶石,你可以調用「父母」,並處理帖子表格中的所有列。 posts表(見上文)有一個user_id列,所以我可以調用
@post.parent.user_id
給我的用戶ID,它的工作原理。 但我想顯示用戶名而不是user_id。
當然,user_id和username(name)是通過連接的用戶表(見上面的schema.rb),但是我怎樣才能在這裏解決它們呢? @ post.parent.user_id.name不起作用。
的車型:
class User < ActiveRecord::Base
has_many :posts
end
class Post < ActiveRecord::Base
has_ancestry
belongs_to :user
end
我還是很新的Rails和困在這裏。有沒有可能是我看不到的超級簡單解決方案?
非常感謝您的幫助!
完美!我知道這是一個簡單的問題。天哪。非常感謝! – YvonC